{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "from __future__ import division\n",
    "import os\n",
    "import glob\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Train Context Length"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "86326\n"
     ]
    }
   ],
   "source": [
    "train_context = 'data/train.context'\n",
    "\n",
    "context_len = []\n",
    "\n",
    "with open(train_context) as fp:  \n",
    "    lines = fp.readlines()\n",
    "    print(len(lines))\n",
    "    for line in lines:\n",
    "        words = len(line.split())\n",
    "        context_len.append(words)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "86326\n",
      "[187, 124, 132, 255, 304, 109, 112, 200, 140, 101]\n"
     ]
    }
   ],
   "source": [
    "print(len(context_len))\n",
    "print(context_len[:10])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY8AAAEICAYAAACnL3iHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvFvnyVgAAIABJREFUeJzt3Xl8VOXd///XLJmsk5WQCRCiLC7IYhQVdwmEAAERCXqrVYFSl5+oiGKxFtS49G5Li6h3FeQu2ru2Rb4WqQwt1UQMlbhUwcjiwhJISDIJZCGTZdbr98eQKRHCZJnJTMjn+XjwMDlzzpn3zMTzmeu6zrmORimlEEIIITpBG+wAQggheh8pHkIIITpNiocQQohOk+IhhBCi06R4CCGE6DQpHkIIITpNiofosmXLlvE///M/ftlXeXk5GRkZuFwuAO68807Wr1/vl30DzJ8/nw0bNvhtfx21YsUKrrjiCq6++uoef+6+qKysjPPPPx+n0xnsKGc9KR7itDIzMxk9ejQZGRmMHTuW//qv/+LPf/4zbrfbu05eXh4PPPBAh/a1ffv2M64zYMAAduzYgU6n63b2l19+mccee6zNsjVr1jBz5sxu77szysvLWbt2LZs3b+bjjz8+7TpWq5Xnn3+eG264gYyMDCZOnMjzzz9PTU1Nt5///PPP59ChQ93eD/gu5sE6aHfkb0sEhhQP0a7XXnuNHTt28OGHH/KTn/yE119/nSeffNLvz3O2fkssLy8nPj6epKSk0z5ut9u5++672bdvH2vWrOGLL75g3bp1xMfH8/XXX/dwWiE6R4qH8MloNDJhwgRefPFFNmzYwHfffQfAkiVLWLFiBQA1NTXce++9jB07lssvv5zbb78dt9vN4sWLKS8v57777iMjI4PXX3/d+y11/fr13HDDDdx9992n/eZ6+PBhcnNzueSSS7j//vupq6sD4NNPP+W6665rk7H1G2hhYSGrVq3i73//OxkZGdx4441A22/Obreb3/3ud4wfP54rr7ySxx9/nIaGBuA/36A3bNjADTfcwBVXXMGrr77a7nvT0NDA448/zrhx4xg/fjy/+93vcLvdbN++nXnz5lFVVUVGRgZLliw5ZduNGzdSUVHBK6+8wrBhw9BqtSQlJfHAAw9w/fXXA7B//37uvPNOxo4dS05ODvn5+d7tlyxZwjPPPMM999xDRkYGs2fP5vDhwwDccccdAMyYMYOMjAw2b94MwIcffsiMGTO8rclvvvnG+15ffvnl7N69GwCLxcK4ceP49NNPWbFiBf/+97/Jy8sjIyODvLw8H38xbbndblavXs3EiRO54oorePjhh72fpa/3u6WlhZ/+9KdcdtllTJkyhddff9372Z/ub6vVe++916HPT3SDEuI0xo8frz7++ONTll9//fXqrbfeUkop9dOf/lT99re/VUoptXz5crV06VJlt9uV3W5Xn3/+uXK73afdV2lpqTrvvPPU4sWLVWNjo2pubvYuczgcSimlfvSjH6lrrrlGffvtt6qxsVEtWLBAPfroo0oppT755BN17bXXtpv3pZde8q7b6kc/+pF6++23lVJKrV+/Xk2cOFEdPnxYWa1W9cADD6jHHnusTbYnn3xSNTc3q71796qLLrpI7du377Tv0+LFi9V9992nGhoaVGlpqZo0aZL3eU6X82QLFy5Ujz/+eLuP2+12NXHiRPXqq68qm82mtm/fri6++GK1f/9+7/t/+eWXq6+++ko5HA61aNEitXDhQu/25513niopKfH+vnv3bjVu3Di1c+dO5XQ61V//+lc1fvx4ZbPZlFJKrVu3Tk2ZMkU1NTWpefPmqf/+7/8+7ft3Oj/8/E72xhtvqNmzZ6uKigpls9nU0qVL1SOPPNJmu/be71//+tfqjjvuUHV1daqiokJNmzatzXva3t9WRz8/0XXS8hCd0r9/f+rr609Zrtfrqa6upry8nLCwMMaOHYtGoznjvh588EGioqKIiIg47eMzZszgvPPOIyoqiocffph//OMf3gH17njvvfeYM2cOaWlpREdHs2jRIjZv3tym1bNgwQIiIiK44IILuOCCC7zf0E/mcrnYvHkzjz76KDExMQwaNIi5c+fyt7/9rUM56urqSE5Obvfxr776iqamJu655x4MBgNXXnkl48ePx2w2e9eZOHEio0ePRq/Xc+ONN7J3795297du3TpuvfVWxowZg06nY+bMmYSFhbFz504AbrnlFgYPHswtt9xCVVUVjzzySIdehy9/+ctfeOSRRzCZTBgMBhYsWMCWLVs69H7//e9/59577yUuLg6TycRdd93VoefsyOcnukcf7ACid7FYLMTFxZ2y/Mc//jGvvPIK8+bNA+DWW2/lnnvuOeO+TCbTGR9PTU31/jxgwAAcDge1tbVdSN1WVVUVAwcO9P4+cOBAnE4nx44d8y7r16+f9+fIyEiamppO2U9tbS0Oh4MBAwa0yWmxWDqUIz4+nurq6jPmNJlMaLX/+Y73w/2fnDMiIuK0OVuVl5fz7rvv8sc//tG7zOFwUFVV5f39lltu4f777+fZZ5/FYDB06HX4Ul5ezgMPPNDmdWi12g6931VVVW3+Dnz9zfjan/AfKR6iw4qLi7FYLFx66aWnPBYTE8OSJUtYsmQJ3333HXfffTejRo3iyiuvbHd/vlomFRUVbX4OCwsjISGByMhIWlpavI+5XK42Zyf52m///v05cuSI9/fy8nL0ej1JSUlUVlaecduTJSQkEBYWRnl5OcOGDfPmTElJ6dD2V111FS+++CJNTU1ERUWdNmdlZSVut9t74K2oqOCcc87pcMaTpaamct9993H//fef9vHGxkZeeOEFcnNzefnll5k0aRLx8fFdeq6TmUwmXnjhhdP+3ZSVlZ1x2+TkZCorK73vb2c+HxFY0m0lfLJarXz44YcsWrSIG2+8kfPPP/+UdT788EMOHTqEUgqj0YhOp/MexPv160dpaWmnn/dvf/sb+/bto7m5mZUrV5KdnY1Op+Pcc8/FZrOxdetWHA4Hr776Kna73btdUlISR44caXNa8cmmTZvGm2++SWlpKY2NjaxYsYIpU6ag13fuu5ROp2Py5MmsWLECq9XKkSNHWLt2rXeQ3pcZM2ZgMpl48MEH2b9/P263m9raWl577TU++ugjRo8eTUREBGvWrMHhcPDpp59SUFDA1KlTO7T/H77vs2fP5i9/+QtfffUVSimamprYunUrVqsVgOeff56RI0d6Tx1+6qmn2t1Xe+x2OzabzfvP7XZz22238eKLL3oLdk1NDR988EGHXsOUKVNYtWoV9fX1WCyWNq2mzuQS/ifFQ7Sr9SyW66+/ntdee425c+fyi1/84rTrHjp0iLlz55KRkcGtt97Kbbfdxrhx4wC45557ePXVVxk7diz/+7//2+HnnzFjBkuWLOHqq6/Gbrd7TxM2Go089dRT/PznP+e6664jMjKyTXfG5MmTAbjiiitOe23HrFmzuPHGG/nRj37EhAkTMBgMLF26tMO5TrZ06VIiIyOZOHEit99+O9OmTWPWrFkd2tZgMPDGG28wZMgQ5s2bx6WXXsrs2bOpra1l9OjRGAwGXnvtNQoLCxk3bhzPPPMMv/rVrxg6dGiH9r9gwQKWLFnC2LFj2bx5M6NGjeLZZ58lLy+Pyy67jEmTJvHXv/4VgA8++IBt27bx9NNPA54zufbs2eMdv7nrrrvYsmULl112Gc8991y7z5mRkcHo0aO9/z755BPuuusuMjMzmTdvHhkZGdxyyy0UFxd36DU88MADmEwmJkyYwJw5c8jOzm7TndbVvy3RfRql5GZQQoje4U9/+hObN28+pQUiep60PIQQIauqqoovvvgCt9vNgQMHWLt2LRMnTgx2LIEMmAshQpjD4eCpp56irKwMo9FITk4Ot99+e7BjCaTbSgghRBdIt5UQQohO6xPdVtXVDZ3eJiEhitra0LywSLJ1jWTrGsnWdaGcz1e25GTjGbeXlkc79PruTw0eKJKtayRb10i2rgvlfN3NJsVDCCFEp0nxEEII0WlSPIQQQnSaFA8hhBCdJsVDCCFEp0nxEEII0WlSPIQQQnSaFA8hhBCdJsVDCCFEp/WJ6UnOJlt3HsEYE0GDtaXN8hsuHtjOFkII4X/S8hBCCNFpUjyEEEJ0mhSPXqyypolmmzPYMYQQfZAUj16qrsHGPz8r5ZPdlmBHEUL0QVI8eqlDFs89So5UW7HZXUFOI4Toa6R49FKHLVYA3AoOWzp/syshhOgOKR69UL3VRm2DjQRjOAAHK6R4CCF6lhSPXujAkXoALkiPJzk+gsqaJuqstiCnEkL0JVI8eqEDR+rRAGn9Yzg3NRaAz/dWBTeUEKJPkeLRyzS1OKmsaaJ/YiQRBj3pJiMa4NO9ctaVEKLnBLR4FBYWkp2dTVZWFqtXrz7lcbvdzsKFC8nKymL27NmUlZUBUFtby5133klGRgZ5eXltttm1axfTp08nKyuL5557DqVUIF9CyDlc5RnfGJxiBCAyXI8pKYoD5cepqmsOZjQhRB8SsOLhcrnIy8tjzZo1mM1mNm3axL59+9qss379emJjY3n//feZM2cOy5cvByA8PJyHH36Yxx9//JT9Pv300zz77LP885//pKSkhMLCwkC9hJDUepbV4P4x3mWtXVef7ZHWhxCiZwSseBQXF5Oenk5aWhoGg4GcnBzy8/PbrFNQUMDMmTMByM7OpqioCKUUUVFRjB07lvDw8DbrV1VVYbVaufjii9FoNNx0002n7PNsZm12YKlpon9CFNGRYd7lg1Ni0Go0FO8/FsR0Qoi+JGCz6losFkwmk/f3lJQUiouLT1knNTXVE0Svx2g0UltbS2JiYof2aTKZsFh8f9tOSIhCr9d1+jUkJxs7vU0gHTtUg1IwoF80xpiINo+dkxrLYUsD8QnRhOmDO5QVau/bySRb10i2rgvlfN3J1iemZK+tber0NsnJRqqrQ+v6iYrK4wCEG3SnTMk+OCWGA+X17NhT4e3GCoZQfN9aSbaukWxdF8r5fGXzVVgC9hU1JSWFyspK7+8Wi4WUlJRT1qmoqADA6XTS0NBAQkJCh/dZWVl5yj7PZk0nJkE0hJ3aihpyomAcKD/eo5mEEH1TwIrHqFGjKCkpobS0FLvdjtlsJjMzs806mZmZbNiwAYAtW7Ywbtw4NBpNu/vs378/MTEx7Ny5E6UU7777LhMmTAjUSwg5rTPohoed+rEdPe4506podyVbdx5h684jPZpNCNG3BKzbSq/Xs2zZMubPn4/L5WLWrFkMHz6clStXMnLkSCZMmEBubi6LFy8mKyuLuLg4VqxY4d0+MzMTq9WKw+Hggw8+4Pe//z3Dhg3jqaee4oknnqClpYXrrruO6667LlAvIeQ02zwTIJ6u5REXbSBMr6VaTtcVQvSAgI55XH/99Vx//fVtlj388MPen8PDw3nppZdOu21BQcFpl48aNYpNmzb5L2QvcqZuK41GQ7+4CCqONdFidxFh6PwJAkII0VFyhXkv0nyG4gHQLz4SgGP10voQQgSWFI9e5ExjHgDJcZ7Td6vrWk77uBBC+IsUj17Ed8vDUzyO1kvxEEIElhSPXsRbPNq54DHCoCcmMoyj9c19bs4vIUTPkuLRizTZnOh1GrTa9k9nTo6PwO5w09Dk6MFkQoi+RopHL9JscxLmY5qVfnGeQXM5ZVcIEUhSPHqRZpsLg495q2TcQwjRE6R49BJKqRMtjzN/ZImx4Wg1UjyEEIElxaOXsDvduNwKQzun6bbSabXERhs4brXLoLkQImCkePQSLSfOtPI15gGeqUocLjd1VnugYwkh+igpHr2Ed2qSDtyrIzbGcxOt8mONAc0khOi7pHj0Eq2TInbkRk9x0QYAKo91/j4mQgjREVI8eonmTrQ84mI8xUNaHkKIQJHi0Us0d2LMIzbKUzwqjkrxEEIEhhSPXuI/07H7/sjC9FqiI/RU1Ei3lRAiMKR49BL/aXl07COLizFQb7XT1OIMZCwhRB8lxaOX8DUp4g/FRXvOuKqoka4rIYT/SfHoJZq60PIAqDgqXVdCCP+T4tFLNHdizAP+c7puhZxxJYQIACkevURnrvOAk1oecq2HECIApHj0Ep0d8wgP03nOuJKWhxAiAKR49BJNNicGvfaMN4I6mUajIbVfNNV1LTic7gCnE0L0NVI8eolmm5PIcH2nthmQFIVbKapqpetKCOFfUjx6ia4UD1NiNCDjHkII/5Pi0Ut0qeXRLwqQM66EEP4nxaMXcDhdOF2KqPCODZa3MiVJy0MIERhSPHqBphOn6Xa25dEvNoIwvVZm1xVC+J0Uj16g9TTdzhYPrVbDwH7RlB9txOmSM66EEP4jxaMX6GrxADgnNRanS3GkWlofQgj/CWjxKCwsJDs7m6ysLFavXn3K43a7nYULF5KVlcXs2bMpKyvzPrZq1SqysrLIzs5m27Zt3uVvvPEGOTk5TJs2jUWLFmGz2QL5EkJCa/GI6krxMBkBOFhx3K+ZhBB9W8CKh8vlIi8vjzVr1mA2m9m0aRP79u1rs8769euJjY3l/fffZ86cOSxfvhyAffv2YTabMZvNrFmzhmeeeQaXy4XFYuEPf/gD77zzDps2bcLlcmE2mwP1EkJGt1oeJ4pHSaUUDyGE/wSseBQXF5Oenk5aWhoGg4GcnBzy8/PbrFNQUMDMmTMByM7OpqioCKUU+fn55OTkYDAYSEtLIz09neLiYsBTlFpaWnA6nbS0tNC/f/9AvYSQ0dSN4jEwOZowvZaSigZ/xxJC9GGdPxp1kMViwWQyeX9PSUnxFoCT10lNTfUE0esxGo3U1tZisVgYM2ZMm20tFgsZGRnMmzeP8ePHEx4eztVXX80111zjM0tCQhT6Ds4JdbLkZGOntwkEXZjnYzL1j6HeagfAGBPhc7vW/EMHxvF9aR2x8VGEh3X+feisUHnfTkeydY1k67pQztedbAErHoFQX19Pfn4++fn5GI1GHn74YTZu3MiMGTPOuF1tF6bnSE42Ul0dGt/Wq0+cautocdBgbcEYE0GDtcX3difyD+wXzTeHatmxu4KhA+MCmjWU3rcfkmxdI9m6LpTz+crmq7AErNsqJSWFyspK7+8Wi4WUlJRT1qmoqADA6XTS0NBAQkJCu9tu376dQYMGkZiYSFhYGJMmTWLHjh2BegkhwzvmEdG5Wr915xG27jxCi92z/fv/LmXrziN+zyeE6HsCVjxGjRpFSUkJpaWl2O12zGYzmZmZbdbJzMxkw4YNAGzZsoVx48ah0WjIzMzEbDZjt9spLS2lpKSE0aNHM2DAAL766iuam5tRSlFUVMTQoUMD9RJCRnfGPACS4jxdXMfqfbdWhBCiIwLWbaXX61m2bBnz58/H5XIxa9Yshg8fzsqVKxk5ciQTJkwgNzeXxYsXk5WVRVxcHCtWrABg+PDhTJkyhalTp6LT6Vi2bBk6nY4xY8aQnZ3NzJkz0ev1XHjhhdx6662BegkhoztnWwHERhvQ6zQcOy7FQwjhHxqllAp2iEDrSp9jKPVVLv/LDvaU1LJ68Q386+uKDo95nGzLp4epqm3mvyYOJ2tsWoCShtb79kOSrWskW9eFcr7ujnl06KtsUVERhw8fxul0epfdcccdHYwouqvZ5iRMr0Wv63ovY1JcBJbaZmqk9SGE8AOfxWPJkiXs2rWLESNGoNMF/jRPcaomm4tIQ/fee++4hxQPIYQf+CweO3bsYNOmTYSFhfVEHnEaXbmXxw8lxcqguRDCf3z2g5x8oZ8IDn8UD2NUGAa9lqNSPIQQftDuEemtt94C4JxzzmHOnDlMnDgRg8HgfVzGPHqG0+XG4XR3u3hoNBqS4iKoONZEY4uD6AhpSQohuq7dI9KuXbu8Pw8ePJjvvvuuRwKJtpq6MaPuD/WLj6TiWBMHy48zckhSt/cnhOi72j0i/eIXvwDAarUSExPT5jGr1RrYVMKru9d4nCz5xKD5fikeQohu8jnmceedd3ZomQgMfxaPfvGe4nGgXKZnF0J0T7tHJKfTicPhwO1209LSQuu1hA0NDTQ3N/dYwL6u2Xv/8u6fJh1h0BMTGcaB8nqUUmg0mm7vUwjRN7VbPF577TVeeeUVNBoNF198sXd5TEwMc+fO7ZFwAlr82PIAT+ujpKKBqtpmUhKj/LJPIUTf0+4RacGCBSxYsIC8vDyWLVvWk5nESVrsnpZHRDcvEmyVHBdJSUUD+8vrpXgIIbrM55jH4sWLaW5ubvNP9JzW6dQjDP5reYCMewghusfnESkjI+OUvnG9Xs/o0aN59tlnGTJkSMDCCf+3PBJjw9HrNOyX4iGE6AafxeORRx4hPDyc3NxclFJs2LCB2tpa0tLSeOqpp/i///u/nsjZZzX7uXjotFoGpxg5VNmA3eHC0AO3pRVCnH18dltt2bKFOXPmEBMTg9Fo5K677uKjjz7i5ptvpq6uricy9mn+7rYCGDIgFpdbccgSmlNFCyFCn8/i0dzcTGlpqff30tJSmpo89wSXWXYDz9/dVuApHiDjHkKIrvP5dXbhwoXk5uYycuRIlFLs2bOHZ555hsbGRiZPntwTGfu0wBSPOAAZ9xBCdJnP4pGdnc2ll15KcXExAGPGjCEpyTO1xX333RfYdCIg3VbJcREYo8I4WF7vt30KIfqWDh2R+vXrxzXXXIPL5fkW3NzcTGRkZECDCY8WuwuNBgxhXb+L4A9pNBrOTY2leP8xGprsGKMMvjcSQoiT+Cwe//znP3nuueeorq4G8E5rsXfv3oCHE9BicxFh0Pl9KpFByTEU7z9GWXUjF6ZL8RBCdI7P4vHrX/+aF198kYsvvhit1n/ffkXHtNidfu2yajUoORqAsmorF6Yn+H3/Qoizm89qEBcXxyWXXCKFI0ha7C6/Dpa3GpTsmWb/SLVMry+E6DyfFSErK4s//elP1NXVyRQlQWBzBKZ4mJKi0Gk1lFU3+n3fQoizn8/+kBUrVgCQl5eHRqORMY8e5HJ7bkEbiG4rvU6LKSmKI9WNuJVCK9OzCyE6wedR6ZtvvumJHOIHtu48gs3hObvN2uxg684jfn+OQckxHKlu5Gh9C/3j5ew5IUTHdWgg4+DBg3zwwQcANDY2yrQkPcThdAMQpg/MeFProPmRKhn3EEJ0js+j0l//+lfuv/9+7z3NLRYLCxcuDHgwAc4TxUOvC0zxGHhi0LxMBs2FEJ3k86j0hz/8gXfeeQej0QjAkCFDOHr0aMCDCXC4eqblIYPmQojO8nlUCgsLIzo6us0ymRCxZwS62yopNoLIcJ20PIQQnebzqBQfH8/Bgwe9Vzhv3LgRk8kU8GDipOIRoG4rjUbDwH4xWGqavc8lhBAd4fOo9LOf/YxHH32UgwcPkpmZyapVq3jyySc7tPPCwkKys7PJyspi9erVpzxut9tZuHAhWVlZzJ49m7KyMu9jq1atIisri+zsbLZt2+Zdfvz4cR566CEmT57MlClT2LFjR4ey9EbOE91W+gC1PMDTdeVWiopj0nUlhOg4n6fqnnvuuaxfv56SkhKUUpx77rne+3mcicvlIi8vj7Vr15KSkkJubi6ZmZkMGzbMu8769euJjY3l/fffx2w2s3z5cl588UX27duH2WzGbDZjsViYO3cuW7ZsQafT8fzzz3Pttdfy0ksvYbfbaWlp6d47EMIC1W118mm/TTbPrL3v/7uUH+eM8OvzCCHOXh06Kul0OoYOHcqwYcPQ6XRMnz7d5zbFxcWkp6eTlpaGwWAgJyeH/Pz8NusUFBQwc+ZMwDP1e1FREUop8vPzycnJwWAwkJaWRnp6OsXFxTQ0NPD555+Tm5sLgMFgIDY2trOvudcIdLcVQIIxHIA6qy1gzyGEOPt06dJlpZTPdSwWS5uxkZSUFO89QU5eJzU11RNEr8doNFJbW4vFYmHMmDFttrVYLERERJCYmMgTTzzBN998w0UXXcSTTz5JVFTUGbMkJESh13d+kD852djpbfzFGBOB5sR8YnHGCIwxEac87g9hJ65eb2hy+u31BvN980WydY1k67pQztedbF0qHv6eHryjnE4ne/bsYenSpYwZM4bnnnuO1atX+7zupLbWdzfbDyUnG6muDt49vhusLTQ22wFwOBw0WP/TPWeMiWjze3dFhes5Wtfsl9cb7PftTCRb10i2rgvlfL6y+Sos7RaPffv2tbuR0+n0GSwlJYXKykrv7xaLhZSUlFPWqaiowGQy4XQ6aWhoICEhod1tTSYTJpPJ2yqZPHnyaQfizxaBvkiwVbwxnPKjjVibHcREhgX0uYQQZ4d2i8c999zT7kbh4eE+dzxq1ChKSkooLS0lJSUFs9nMb37zmzbrZGZmsmHDBjIyMtiyZQvjxo1Do9GQmZnJo48+yty5c7FYLJSUlDB69Gh0Oh0mk4kDBw4wZMgQioqKGDp0aCdebu8S6IsEWyWcKB5Hqq2cP1ju7SGE8K3d4lFQUNC9Hev1LFu2jPnz5+NyuZg1axbDhw9n5cqVjBw5kgkTJpCbm8vixYvJysoiLi7OO4Pv8OHDmTJlClOnTkWn07Fs2TLvhYlLly7lsccew+FwkJaW5p025WwU6IsEW7UOmh+ukuIhhOgYjerI6Hcv15U+x2D3VW7deYTNRYeoOd7Cj7LPb/OYv8c86hps/O3jEq4Zncq8qRd2a1/Bft/ORLJ1jWTrulDO190xD7k9YAhzutwBvUCwVWy0Aa1GQ5nMriuE6CApHiHM4XQH9BqPVlqthnijgSNHG3G5ZZoSIYRvPo9M+/fv79Ay4X8Olzvg4x2tEmLCcTjdVNXKLYaFEL75PDI99thjHVom/EsphcPpDvhpuq0SYj2D5qXSdSWE6IB2z7aqqamhpqYGm83G/v37vVeVNzQ0dGhuK9E9brdCqcCfadWq9Yyr0iorl1+Y4mNtIURf127xeO+993jzzTepqqriJz/5iXe50Whk/vz5PRKuL+upazxanVw8hBDCl3aLx913383dd9/Na6+9xn333deTmQQ9MyniySIMeuJjDFI8hBAd4vPINGLEqdN0r1u3LiBhxH+0Fo+eOFW3VVp/I7UNNqzNjh57TiFE7+TzyPTrX/+a5cuX43bm0ZVBAAAgAElEQVS7aWpqYtGiRZjN5p7I1qf1dLcVwKD+J+5pLq0PIYQPPo9Mb7/9NjU1Ndx+++3k5uYyZMgQ3njjjR6I1rc5e7jbCiCtfwwg4x5CCN98HpkiIyMZMWIER44cobGxkauuugqtVq4tDLSemtfqZGn9PdMRlFZL8RBCnJnP+3k8+OCDNDU1sXHjRkpLS1m8eDG5ublnnHVXdF8wuq1MiZHodVppeQghfOrQgPmaNWtITExkzJgxrF+//pQ7Agr/c/TQvTxOptNqGdgvmiPVMk2JEOLMfB6Z7r///jZ3DoyLi+OVV14JaChx0phHD7Y8wDPu4XS5qTgqF4IKIdrn88hUUlLCbbfdRmZmJgC7d+/m5ZdfDniwvi4Y3VYAwwbFAfBtaV2PPq8QonfxeWR6+umnuf/++zEaPYOpF154If/4xz8CHqyv6+mLBMFzD5H6RhsA/youZ+vOI2zdeaTHnl8I0Xv4PDI1NDRw3XXXebuutFotYWFyn+tAC8ZFggAxkWFEReiprGmmD9wnTAjRRT6PTDqdDofD4S0eFotFTtXtAU6X58Dd091WGo0GU2IUNoeLequ9R59bCNF7+Dwy3X777SxYsIDa2lpefvllbr/9dubNm9cT2fq0YHRbtUpJiASgskYGzYUQp+fzOo+bbrqJQYMG8eGHH9Lc3Mwvf/lLxo4d2xPZ+jSHy41Oq0Gr1fhe2c9SEqMAsNQ2c0F6Qo8/vxAi9PksHhs3bmTGjBltCkbrMhE4TmfP3UXwh4xRYUSF67HUNMm4hxDitHwenU43j5XMbRV4PXkXwR/SaDSkJEbSYndR3yjjHkKIU7Xb8vj6668pLi6mtraWt956y7vcarXicMiU3YHmcLmJMQTvrLaUxCgOVjTIuIcQ4rTaLR4Wi4Vdu3bR3NzMrl27vMujo6P5xS9+0SPh+iqlVFC7rQBMreMeNc1ByyCECF3tFo+JEycyceJE/vWvf3HNNdf0ZKY+z+5wowjOmVatjFFhRJ407nHyFDVCCOFzwPyaa66hqKiIw4cP43Q6vcvvuOOOgAbry1rsnve5py8QPJnneo9IDlY0UH6siYH9ooOWRQgRenwWjyVLlrBr1y5GjBiBTqfriUx9XovdBfT8BYI/ZEryjHvsKamR4iGEaMNn8dixYwebNm2SKUl6kLd4BLHbCiA1yVMwdh+sIWtsWlCzCCFCi8+jk8lk6okc4iSt3VbBbnnERIYRF23gm8O13ivehRACOlA8zjnnHObMmcPatWt56623vP86orCwkOzsbLKysli9evUpj9vtdhYuXEhWVhazZ8+mrKzM+9iqVavIysoiOzubbdu2tdnO5XJx0003ce+993YoR2/TfKLlEcwxj1ap/aKwO9zsP1If7ChCiBDi8+hkt9sZPHgw3333Hbt27fL+88XlcpGXl8eaNWswm81s2rSJffv2tVln/fr1xMbG8v777zNnzhyWL18OwL59+zCbzZjNZtasWcMzzzyDy+XybveHP/yBoUOHdva19hrNNk/LwxDkbiuAAa1dVyU1QU4ihAglPsc8unpNR3FxMenp6aSlefrKc3JyyM/PZ9iwYd51CgoKWLBgAQDZ2dnk5eWhlCI/P5+cnBwMBgNpaWmkp6dTXFxMRkYGlZWVbN26lfvuu++svdK9dTbbiPDgn6CQkhiFTqth18EaZl1/9hZsIUTn+CweSinWrVvH9u3bAc+pu7Nnz/Z53r/FYmkzXpKSknLKvc8tFgupqameIHo9RqOR2tpaLBYLY8aMabOtxWIB4IUXXmDx4sU0NjZ28CX2PnVWzw2ZosJ9fjwBF6bXMnxQHN8eruN4k53YKEOwIwkhQoDPo9OvfvUr9u7dy8033wzAu+++S0lJCY8//njAw/3Qhx9+SGJiIiNHjuTTTz/t8HYJCVHo9Z3/Fp+cbOz0Nv7QcmJwul9iNMZ2DtbGmIgey3P5yFS+OVxH2bFmrk9P8rl+sN63jpBsXSPZui6U83Unm8/i8a9//YsNGzag13tWnTJlCjfffLPP4pGSkkJlZaX3d4vFQkpKyinrVFRUYDKZcDqdNDQ0kJCQ0O62BQUFFBQUUFhYiM1mw2q18thjj3nHStpTW9v5+ZmSk41UVzd0ejt/sBz1tKrcThcN1pZTHjfGRJx2eaCca4oFoKj4CCPS4s64bjDfN18kW9dItq4L5Xy+svkqLB0akT25i6qj01SMGjWKkpISSktLsdvtmM1mMjMz26yTmZnJhg0bANiyZQvjxo1Do9GQmZmJ2WzGbrdTWlpKSUkJo0eP5tFHH6WwsJCCggJ++9vfMm7cOJ+Fozeqa7QTYdAF5V4ep5OWEkNMZBi7D9bIFO1CCKCD05P85Cc/YebMmYCn26ojc13p9XqWLVvG/PnzcblczJo1i+HDh7Ny5UpGjhzJhAkTyM3NZfHixWRlZREXF8eKFSsAGD58OFOmTGHq1KnodDqWLVvWp65ur7faiAyB8Y5WWo2Gi85N5NM9Fo4cbWRQckywIwkhgkyjfHyVdLvdrFu3jqKiIgCuvPJKbr311l51H/OuNBuD1dy02V3c/9uPGNAviontXNXd091WN1w8kH8VV/D7zXv5r8xhTLp8cLvr9uZmejBJtq4J5WwQ2vm6223V7tdbl8uF3W4nMjKS2267jdtuuw2A5uZm6boIoLpGz5lWodTy2LrzCE0tnnu4bCuuwGDwtAJvuHhgMGMJIYKo3ebD8uXL2bRp0ynLN23axG9+85uAhurLWq/xCKXiARAVEUZ8jIHKmiZcbpmqRIi+rt3i8emnnzJr1qxTlt98880UFhYGNFRf1nqNR6gVD/BMlOhyK6pq5QZRQvR17RYPl8t12nENnU4nNwYKoNaWRyhcIPhDA/p57i5YflRuTStEX9du8WhpaaG5+dRvmI2Njdjt9oCG6stCueXRPyEKrUZDxbGz9+p+IUTHtFs8pk6dyk9/+lOsVqt3WUNDAz//+c+ZPHlyj4Tri+q8Yx6hd2pymF5L/4RIao7bvNPGCyH6pnaLxwMPPIDBYODaa69l5syZzJw5k+uuuw6tVsuDDz7Ykxn7lPrG0JnX6nRST3RdVUjXlRB9WrtHKL1ez/Llyzl06BB79uwBYMSIEaSnp/dYuL6o3monKlyPLgSmYz+dAUnR7OAo5dJ1JUSf5vPrbXp6uhSMHlRntREXE7oz1ybGhhMepqP8aBNKKTl5Qog+KjS/3vZRDqebxhYn8THhwY7SLo1GQ2pSFM02J+VHpfUhRF8lxSOEtI53hHLLA2BAP8/dBXd8fzTISYQQwSLFI4S0nmkVyi0PgMEpMWi1Gop2V8pUNUL0UVI8Qkj9iWs84qNDu+VhCNOR1j+GimNNlFSG5qRvQojAkuIRQlpbHnEh3vIAGDLgxA2idlX6WFMIcTaS4hFCWsc84kN8zANgYL9oYiLD+HSvBadLJkoUoq+R4hFCelPLQ6vVcMWFKTQ0Odh9sCbYcYQQPUyKRwhpnRQxLsTHPFpdNcoEQNFu6boSoq+R4hFC6q02wsN0ITkp4umcYzJiSoxix/dHaWqRua6E6EukeISQukZ7rxjvaPXRV+WYkqJwON388f1v2brzSLAjCSF6iBSPEOFyu2lotPeK8Y6TDRsYi1YDuw/W4JZrPoToM6R4hIjjjQ4UveNMq5NFRYQxZGAcDU0ODss1H0L0GVI8QkTrTaDiontXywNg5LmJaICvD9TIFedC9BFSPEJEvXdqkt7V8gCIjTaQnmqktsHGF99UBTuOEKIHSPEIEUfrPbf8DfVJEdszakgiAG9/8J20PoToA6R4hIgvv6sG4LxB8UFO0jUJxggGJUezt6SG70rrgh1HCBFgUjxCQG2DjW8P1zFsUBz94iODHafLRg1JAuCfn5cGOYkQItCkeISAT/dYUMCVI1KCHaVbkhMiGZYWz859R73dcEKIs5MUjxDw6R4LOq2GsRf0D3aUbpt29bkoBVt3lAc7ihAigKR4BNnGfx3gkKUBU1IUX3xXzdadR3r1ldrXXjyQmMgwCr8qx+F0BTuOECJApHgE2cEKz4V156bGBjmJfxjCdFw7JhVrs4PP9sppu0KcrQJaPAoLC8nOziYrK4vVq1ef8rjdbmfhwoVkZWUxe/ZsysrKvI+tWrWKrKwssrOz2bZtGwAVFRXceeedTJ06lZycHN58881Axg84pRQHK46j12lI6x8T7Dh+M/7igWiAgi/LfK4rhOidAlY8XC4XeXl5rFmzBrPZzKZNm9i3b1+bddavX09sbCzvv/8+c+bMYfny5QDs27cPs9mM2WxmzZo1PPPMM7hcLnQ6HUuWLGHz5s2sW7eOP/3pT6fss7dotjkp2l1JQ5ODQf1jCNOfPY3AfvGRjBnWj4MVDRysOB7sOEKIAAjY3N/FxcWkp6eTlpYGQE5ODvn5+QwbNsy7TkFBAQsWLAAgOzubvLw8lFLk5+eTk5ODwWAgLS2N9PR0iouLycjIoH9/z6ByTEwMQ4YMwWKxtNlnqGodxyg/2siX31VTe9xG66V0wwbGBS+Yn/2jqIQGawv94iMAeOPv3zD+koHccPHA4AYTQvhVwIqHxWLBZDJ5f09JSaG4uPiUdVJTUz1B9HqMRiO1tbVYLBbGjBnTZluLxdJm27KyMvbu3dtmvfYkJESh1+s6/RqSk42d3qY9xpgILDVNbN1xBLcbTEnRmJKiGGyKZVAXuqyMMRF+y+ZvxpgIzosOZ/fBWkqrrNQ02P36XnZHqOQ4HcnWNaGcDUI7X3ey9Y67Dv1AY2MjDz30ED/72c+IifF94K2tber0cyQnG6mu9t8sseVVx/n7J4dxuRTjLxnYpmA0WFs6tS9jTESnt+kpJ2cbe0E/Nm1v5KMdZUy/cjBhXSjg/uTvz9SfJFvXhHI2CO18vrL5KiwB62hPSUmhsvI/tye1WCykpKScsk5FRQUATqeThoYGEhISzritw+HgoYceYvr06UyaNClQ8f3K2uwg/99ltNhdXD4ipUstjd4owRjBBYMTaGhy8PdPDwc7jhDCjwJWPEaNGkVJSQmlpaXY7XbMZjOZmZlt1snMzGTDhg0AbNmyhXHjxqHRaMjMzMRsNmO32yktLaWkpITRo0ejlOLJJ59kyJAhzJ07N1DR/e6P//yW400OLjo3kfMH9865q7pqzLAkIsN1mIsOUV0nV50LcbYIWPHQ6/UsW7aM+fPnM3XqVKZMmcLw4cNZuXIl+fn5AOTm5lJXV0dWVhZr167lscceA2D48OFMmTKFqVOnMn/+fJYtW4ZOp+OLL75g48aNfPLJJ8yYMYMZM2bw0UcfBeol+EX50UY+31tFYmw4l5zXL9hxepwhTMel5/fH4XTz+qY92B1y4aAQZwON6gPzZ3elz9FffZWr39vNJ7st3JAxgMEp/hk46y1jHq2UUnxzqI7Pv6kiY3g//r+ZI9Fpe/7U5N7c/xxMkq3rQjlfd8c8euWAeW9hqWni0z0WBiVHn1UXAXaWRqPhvMFxlFZb2fH9UX751g6uHJmCRqORU3iF6KXOnivTQtCmohKUgmlXnYNGowl2nKDSabWMzxhIUmw4+47U89W+Y8GOJIToBikeAVJd10zRLgupSVGMPb/3z5brD2F6LZmXDiImMoyvDxyj5nhodr0JIXyT4uFnrbPi/q95D26lGDowlsJimZ68VWS4nitGpKAUfLLbgtt91g+5CXFWkuIRAM02J/uOHCcmMoxzTGfHbLn+NDA5mnNSjRytb+HDHb13+nkh+jIpHgGw91AtbrfionMT0Gr79lhHey67oD8GvZZ3PtpPbYMt2HGEEJ0kxcPP7E4X3x6uI8KgY+hZNOGhv0WG67nk/GRa7C7++M9v6QNnjAtxVpHi4Wffl9bjcLq5ID0BvU7e3jMZPiiO89Pi2fH9UT7aKeNCQvQmcnTzI6fLzZ6SWvQ6Deen9a1pSLpCo9Hwk+kjiI7Q8+f87ymrtgY7khCig6R4+FHR7kqabU6GD4on3BDcGWR7i8TYCOZNvRCH081rG3djk+lLhOgVpHj4UcGXR9BoYMQ5CcGO0qtknJdM5iUDKT/ayNrNe2lqcQQ7khDCB5mexE/qrDYOVTZgSooiOjIs2HF6jdY7LKYmRZEYG85ne6vYue8oN183lMxLBsq4kRAhSv7P9JOv93um2xiUHB3kJL2TTqdl8hWDueS8figFf8n/nqd+/5lchS5EiJLi4SfFBzzFY2C/vjsBYnfpdVpGDkli5nXnct2YAVQca+K/3/pS7gMiRAiS4uEHTpeb3QdrSI6PIDZauqy6K8KgJ90Uw5hhSRytb+GZtZ/zt48Peru4hBDBJ8XDD74vq6fF7mL00H59fvZcf9FoNIwZ1o9Lzk+myeZky2eHsTbLQLoQoUKKhx+0jneMHpoU5CRnn5HnJjL2gmSabS4Kviij2eYMdiQhBFI8/KL4wDEMeq1cGBggI85J5ILB8dRZ7by6cRcutzvYkYTo86R4dNPRumbKjzZyYXoChjC5MDBQxl7Qn4HJ0ew6UMOfPvhe5sISIsikeHRT61lW0mUVWFqthuvGDGBQcjQffnmEd7cdDHYkIfo0KR7dsHXnEe/9KBptTjkbKMDC9FoeueVi+sdH8t72Et7bXhLsSEL0WVI8usHucFFxrIn4GAMxclV5j/hq/1GuGZNKTGQYGwoP8Mpfi6ULS4ggkOLRDaVVVtxuxTmpcrfAnhQTGUbWZYOIitDz5XdHeer3n7Htq3IcTplUUYieIsWjG0oqGgA4x2QMcpK+xxhlIPvyNM5JNVJxrIm1f/+GR/9nO+98tF+mNBGiB8jEiF3U0GSn/FgjSbERxEYbgh2nTzJGGbhuzAAaWxx8e7iO70rrMBcdYvMnhxicYuSe6SNITZK5xoQIBGl5dNEX31WjFJyTKq2OYIuOCOOS85LJvWEoV440ER8TzqHKBpb972e889F+bHbpzhLC36Tl0UWf7bEAkC5dViFDr9MyfFAcwwbGUlpl5ev9xzAXHWL7rkpGDUlkeHoSxnAdMZFhGMK0hIfpiAzXExWuR6uVaWWE6AwpHl1QZ7Xx7eE6kuMj5SyrEKTRaBicYiQ1KZpdB46xu6SWwq8qKPyqot1tIsN1pCZFM2RALEMHxDHinASMUdIdKUR7pHh0weffVKGAc6XLKqSF6bVknJfM6GFJNDQ6sLkUlmONOJwunC6F0+nG7nRjd7iwOVwcrDjOgfLjfEAZGg0MTI5h6IBYZl47hMhwPWF66eUVopUUj06yOVx8XFyBRiNdVr2FTqsl3hiOMSaClPiIdtdzutzUHG+hqraZksoGyqqslFVZ+WhnOeDpFouO0GOMMmCMCiM5PoIhA+IYOiCW1H7RaGVGZdGHBLR4FBYW8vzzz+N2u5k9ezb33HNPm8ftdjuPP/44u3fvJj4+nhUrVjBo0CAAVq1axf/7f/8PrVbLz3/+c6699toO7TOQjtY188pfv+ZwlZWxF/QnMlxq79lEr9PSPyGK/glRjBySRG2DjQPlx2losuNwunE43dgcLiy1TZRVu9l7CG9XWFS4ngvSExhxTgLnpsYSptOi02mwO9yUH23kyNFGahpaMOi1hIfpiQzXMaBfNINTjPRPiAzyKxei8wJ29HO5XOTl5bF27VpSUlLIzc0lMzOTYcOGeddZv349sbGxvP/++5jNZpYvX86LL77Ivn37MJvNmM1mLBYLc+fOZcuWLQA+9+lPDqeLWqudphYHlppm3nr/O6zNDq6/eAB3ZJ3Hv75uvw9d9H4JxnAuPT/5tI+5XG7qG+1U17VQXdeMpaaJL7+r5svvqjv9PGF6LXEx4USE6YiK8HSP6bQab0snNtpAbLSBML0WrUaDRgMul/IUNJdnhmG9VoNer/XcT+bkK+41GjSATqch0qAnwqDDEKZDq9Gg1WrQavH8rNGAxtP6cjjdOF0Kl8vz35hKK7YWO5EGT9HT6zz5dFoNbgVKKVxuhVsplAK3W6GUQgEoUOCdBUBz4nl1Ws9/9Sd+1px4fo039plbca37M1htHG+yo07kaH1+TxaF5sT7pdVovOu4ObHOiX8Kz/NqNHiz6XWe91Kr4ZRsHcnXKrzR3q370Jw8e4LnfTwp+4nX2LqKTqtBp9O2yRwVrkevC0x3a8CKR3FxMenp6aSlpQGQk5NDfn5+mwN9QUEBCxYsACA7O5u8vDyUUuTn55OTk4PBYCAtLY309HSKi4sBfO7TX1wuN4+/VkS91e5dptNquCv7fG7IGOj35xO9i06nJTE2gsTYCM4fHI9SCmuzg4pjTdRb7W0OXnHRBuJjwomJCsPtVjhcbmx2F7UNNmobbNRZbdjsTuqtNhxOmW5e+E//hEh+cc+4gNykLmDFw2KxYDKZvL+npKR4C8DJ66SmpnqC6PUYjUZqa2uxWCyMGTOmzbYWi+fUWF/7PJ3k5K6NTfzxmSlnfHx21gVd2q8QQoSCrh4bQS4SFEII0QUBKx4pKSlUVlZ6f7dYLKSkpJyyTkWFZ9zA6XTS0NBAQkJCu9t2ZJ9CCCECL2DFY9SoUZSUlFBaWordbsdsNpOZmdlmnczMTDZs2ADAli1bGDfO0zeXmZmJ2WzGbrdTWlpKSUkJo0eP7tA+hRBCBF7Axjz0ej3Lli1j/vz5uFwuZs2axfDhw1m5ciUjR45kwoQJ5ObmsnjxYrKysoiLi2PFihUADB8+nClTpjB16lR0Oh3Lli1Dp/Pc4vV0+xRCCNGzNErupCOEEKKTZMBcCCFEp0nxEEII0WlSPE6jsLCQ7OxssrKyWL16dY8//xNPPMGVV17JtGnTvMvq6uqYO3cukyZNYu7cudTX1wOeK1Cfe+45srKymD59Ort37w5otoqKCu68806mTp1KTk4Ob775Zsjks9ls5ObmcuONN5KTk8NLL70EQGlpKbNnzyYrK4uFCxdit3su/LTb7SxcuJCsrCxmz55NWVlZwLKBZ9aFm266iXvvvTekcoHn5JXp06czY8YMbr75ZiA0PlOA48eP89BDDzF58mSmTJnCjh07QiLbgQMHmDFjhvffJZdcwhtvvBES2QDeeOMNcnJymDZtGosWLcJms/n3b06JNpxOp5owYYI6fPiwstlsavr06er777/v0QyfffaZ2rVrl8rJyfEu++Uvf6lWrVqllFJq1apV6le/+pVSSqmtW7eqH//4x8rtdqsdO3ao3NzcgGazWCxq165dSimlGhoa1KRJk9T3338fEvncbreyWq1KKaXsdrvKzc1VO3bsUA899JDatGmTUkqppUuXqrfeeksppdQf//hHtXTpUqWUUps2bVIPP/xwwLIppdTvf/97tWjRInXPPfcopVTI5FJKqfHjx6tjx461WRYKn6lSSj3++OPq7bffVkopZbPZVH19fchka+V0OtVVV12lysrKQiJbZWWlGj9+vGpublZKef7W3nnnHb/+zUnL4wdOnlbFYDB4p0DpSZdddhlxcXFtluXn53PTTTcBcNNNN/HBBx+0Wa7RaLj44os5fvw4VVVVAcvWv39/LrroIgBiYmIYMmQIFoslJPJpNBqioz23nXU6nTidTjQaDZ988gnZ2dkAzJw50/t5FhQUMHPmTMAzPU5RUVGbuYT8qbKykq1bt5Kbmwt4voWGQq4zCYXPtKGhgc8//9z7vhkMBmJjY0Mi28mKiopIS0tj4MCBIZPN5XLR0tKC0+mkpaWF5ORkv/7NSfH4gdNNq9I6NUowHTt2jP79+wOQnJzMsWPHgFPzmkymHstbVlbG3r17GTNmTMjkc7lczJgxg6uuuoqrrrqKtLQ0YmNj0ev1pzx/e9PjBMILL7zA4sWL0Wo9/8vV1taGRK6T/fjHP+bmm29m3bp1QGj8zZWVlZGYmMgTTzzBTTfdxJNPPklTU1NIZDuZ2Wz2djOHQraUlBTmzZvH+PHjueaaa4iJieGiiy7y69+cFI9eyDNTaHDvHdHY2MhDDz3Ez372M2JiYto8Fsx8Op2OjRs38tFHH1FcXMyBAweCkuNkH374IYmJiYwcOTLYUdr15z//mQ0bNvD666/z1ltv8fnnn7d5PFifqdPpZM+ePdx22228++67REZGnjIOGez/H+x2OwUFBUyePPmUx4KVrb6+nvz8fPLz89m2bRvNzc1s27bNr88hxeMHQnUKlKSkJG8Tt6qqisTERODUvJWVlQHP63A4eOihh5g+fTqTJk0KuXwAsbGxXHHFFezcuZPjx4/jdDpPef72psfxty+//JKCggIyMzNZtGgRn3zyCc8//3zQc52s9bmTkpLIysqiuLg4JD5Tk8mEyWTyTpQ6efJk9uzZExLZWhUWFnLRRRfRr18/IDT+X9i+fTuDBg0iMTGRsLAwJk2axJdffunXvzkpHj8QqlOgZGZm8u677wLw7rvvMmHChDbLlVLs3LkTo9HobTIHglKKJ598kiFDhjB37tyQyldTU8Px48cBaGlpYfv27QwdOpQrrrjCez+YDRs2eD/P9qbH8bdHH32UwsJCCgoK+O1vf8u4ceP4zW9+E/RcrZqamrBard6fP/74Y4YPHx4Sn2lycjImk8nbgiwqKmLo0KEhka2V2WwmJyfH+3soZBswYABfffUVzc3NKKUoKipi2LBh/v2b8+cI/9li69atatKkSWrChAnqd7/7XY8//yOPPKKuvvpqNWLECHXttdeqt99+W9XU1Ki77rpLZWVlqbvvvlvV1tYqpTxnGD399NNqwoQJatq0aaq4uDig2T7//HN13nnnqWnTpqkbb7xR3XjjjWrr1q0hkW/v3r1qxowZatq0aSonJ0e9/PLLSimlDh8+rGbNmqUmTpyoHnzwQWWz2ZRSSrW0tKgHH3xQTZw4Uc2aNUsdPnw4YNlaffLJJ96zrUIl1+HDh9X06dPV9OnT1dSpU71/86HwmSql1J49e9TMmTPVtGnT1P3336/q6upCJltjY6O6/PLL1QJWvuMAAABbSURBVPHjx73LQiXbypUrVXZ2tsrJyVGPPfaYstlsfv2bk+lJhBBCdJp0WwkhhOg0KR5CCCE6TYqHEEKITpPiIYQQotOkeAghhOg0KR5CCCE6TYqHEEKITvv/ATskRz9IWzJ+AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns\n",
    "sns.set(color_codes=True)\n",
    "ax = sns.distplot(context_len)\n",
    "ax.set_title('Distribution of Context Length')\n",
    "ax.set_ylabel('Context Length')\n",
    "plt.savefig('context_length.png')\n",
    "plt.show()\n",
    "\n",
    "# plt.plot(context_len)\n",
    "# plt.ylabel('Context Length')\n",
    "# plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('Min:   ', 22)\n",
      "('Max:   ', 766)\n",
      "('Mean:   ', 137.90535875634222)\n",
      "('25th percentile:   ', 102.0)\n",
      "('Median:            ', 127.0)\n",
      "('75th percentile:   ', 164.0)\n",
      "('95th percentile:   ', 245.0)\n",
      "('99th percentile:   ', 325.0)\n"
     ]
    }
   ],
   "source": [
    "context_array = np.array(context_len)\n",
    "\n",
    "print(\"Min:   \", np.min(context_array))\n",
    "print(\"Max:   \", np.max(context_array))\n",
    "print(\"Mean:   \", np.mean(context_array))\n",
    "print(\"25th percentile:   \", np.percentile(context_array, 25))\n",
    "print(\"Median:            \", np.median(context_array))\n",
    "print(\"75th percentile:   \", np.percentile(context_array, 75))\n",
    "print(\"95th percentile:   \", np.percentile(context_array, 95))\n",
    "print(\"99th percentile:   \", np.percentile(context_array, 99))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Train Question Length"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "86326\n",
      "86326\n"
     ]
    }
   ],
   "source": [
    "train_ques = 'data/train.question'\n",
    "\n",
    "ques_len = []\n",
    "train_ans = 'data/train.answer'\n",
    "\n",
    "ans_len = []\n",
    "\n",
    "with open(train_ans) as fp:  \n",
    "    lines = fp.readlines()\n",
    "    print(len(lines))\n",
    "    for line in lines:\n",
    "        words = len(line.split())\n",
    "        ans_len.append(words)\n",
    "with open(train_ques) as fp:  \n",
    "    lines = fp.readlines()\n",
    "    print(len(lines))\n",
    "    for line in lines:\n",
    "        words = len(line.split())\n",
    "        ques_len.append(words)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "86326\n",
      "[9, 8, 13, 9, 11, 13, 6, 10, 12, 11]\n"
     ]
    }
   ],
   "source": [
    "print(len(ques_len))\n",
    "print(ques_len[:10])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAD4CAYAAADrRI2NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvFvnyVgAAIABJREFUeJzt3Xl4U1X6B/BvukJX2pq2tAJKAcEKFEWhA4K0tIAFLduwDQNVwQ2QXRx+OI7jMuLAMI460FEWl3Gh0qI4CFKoZWmRpVjKvrcF2pR039ImOb8/QtKkTXJvlpv1/TwPz0Nv7j335OTmzbnnnkXEGGMghBDiNjzsnQFCCCG2RYGfEELcDAV+QghxMxT4CSHEzVDgJ4QQN+Nl7wzwUVFRZ/axISF+qKpqtGJuXAeVjX5ULoZR2ejnqOUiFgfq3e7yNX4vL097Z8FhUdnoR+ViGJWNfs5WLi4f+AkhhOiiwE8IIW6GAj8hhLgZCvyEEOJmKPATQoibETTw19bWYtGiRRg7dizGjRuHgoICVFdXIy0tDcnJyUhLS0NNTY2QWSCEENKOoIH/7bffxuOPP46ffvoJO3fuRExMDNLT0xEfH4+9e/ciPj4e6enpQmaBEEJIO4IF/rq6Ohw7dgxTpkwBAPj4+CAoKAjZ2dlITU0FAKSmpmLfvn1CZYEQlyCtacb2nMtobpHbOyvERQg2cre0tBShoaF47bXXcP78ecTGxmL16tWQSqUIDw8HAIjFYkilUs60QkL8LBogYWj0GqGyMcSRyuWdL07gcmkNggM7Y9bYvvbOjkOVjSNxpnIRLPDL5XKcPXsWa9aswcCBA/HWW291aNYRiUQQiUScaVkyFFosDrRoygdXRmWjn6OVS5lUdf2XS+vtni9HKxtH4ajlYvMpGyIjIxEZGYmBAwcCAMaOHYuzZ88iLCwMEokEACCRSBAaGipUFgghhOghWOAXi8WIjIzE1atXAQB5eXmIiYlBQkICsrKyAABZWVlITEwUKguEEEL0EHR2zjVr1mD58uVobW1Ft27d8O6770KpVGLx4sXIyMhAVFQUNmzYIGQWCCGEtCNo4O/Xrx927NjRYfu2bduEPC0hhBAjaOQuIYS4GQr8hBDiZijwE0KIm6HAT4izYPbOAHEVFPgJcXA8xjgSYhIK/IQQ4mYo8BNCiJuhwE8IIW6GAj8hhLgZCvyEEOJmKPATQoibocBPiJOgbvzEWijwE+LgqBs/sTYK/IQQ4mYo8BNCiJuhwE8IIW6GAj8hhLgZCvyEODjqzUOsjQI/IU6CevcQa6HATwghboYCPyFOgpp8iLVQ4CfEwVETD7E2CvyEEOJmKPATQoibocBPCCFuxkvIxBMSEuDv7w8PDw94enpix44dqK6uxpIlS3Dz5k1ER0djw4YNCA4OFjIbhBBCtAhe49+2bRt27tyJHTt2AADS09MRHx+PvXv3Ij4+Hunp6UJngRBCiBabN/VkZ2cjNTUVAJCamop9+/bZOguEEOLWBG3qAYBnn30WIpEI06ZNw7Rp0yCVShEeHg4AEIvFkEqlnGmEhPjBy8vT7DyIxYFmH+vqqGz0c6Ry8fBQ1c86d/J2iHw5Qh4ckTOVi6CB/6uvvkJERASkUinS0tLQs2dPnddFIhFEIu5eylVVjWbnQSwOREVFndnHuzIqG/0crVyUSiUAoKmpxe75crSycRSOWi6GfowEbeqJiIgAAISFhSEpKQmFhYUICwuDRCIBAEgkEoSGhgqZBUKcH4/KEbG9wit38Omus1Ay5xtTLVjgb2xsRH19veb/hw8fRu/evZGQkICsrCwAQFZWFhITE4XKAiGECGbD9kIcLirDjTLHq+lzEaypRyqV4uWXXwYAKBQKjB8/HiNGjED//v2xePFiZGRkICoqChs2bBAqC4QQIjhnrPELFvi7deuG77//vsP2kJAQbNu2TajTEkII4UAjdwkhxM1Q4CeEEDdDgZ8QQtwMBX5CCHEzFPgJcRLO13eEOCoK/IQ4OBq+RayNAj8hDo5q+sTaKPAT4iSo5k+shQI/IYRYwglvySjwE0KIm6HATwghboYCPyGEuBkK/IQQ4mYo8BPiJJzwGSJxUBT4CXFw1I2TWBsFfkIIcTO8FmIpLi5GcXExFAqFZtvIkSMFyxQhhBDhcAb+devWYfv27YiJiYGHh+oGQSQSUeAnhBAnxRn4f/rpJ+zbtw8BAQG2yA8hhBCBcbbxi8ViCvqEEGKAM/a2Mljj/+WXXwAAcXFxWLp0KcaOHQtfX1/N69TUQwghzslg4P/kk090/v788881/6c2fkIIcV4GA792oCeE2B9zxjYF4pA42/hnzJjBaxshRCA0gotYGWfgb25u1vlboVCgpqaG9wkUCgVSU1Px/PPPAwBKSkowdepUJCUlYfHixWhpaTExy4QQQixhMPB/8sknGDp0KC5duoT4+HjNv8GDB2Pw4MG8T/DZZ58hJiZG8/ff//53zJ07Fz///DOCgoKQkZFh2TsghBBiEoOBf9q0acjIyMCwYcOQkZGh+ZeTk4M333yTV+JlZWXIycnBlClTAACMMeTn52PMmDEAgIkTJyI7O9sKb4MQQghfBh/uBgYGIjAwEJs2bTI78XfeeQcrVqxAQ0MDAKCqqgpBQUHw8lKdNjIyEuXl5ZzphIT4wcvL0+x8iMWBZh/r6qhs9HOkcvH0UDXyd+7s7RD5coQ8OJKQLn4AnKtcOEfuDh06FCKR7tOlwMBAxMXFYcWKFRCLxXqPO3DgAEJDQ/HQQw/h6NGjFmWyqqrR7GPF4kBUVNRZdH5XRWWjn6OVi0Kp6s7T1NRq93w5Wtk4gqrqRgChDlkuhn6MOAP/rFmzUFtbi8mTJwMAsrKy4Onpic6dO2PNmjXYuHGj3uNOnjyJ/fv3Izc3FzKZDPX19Xj77bdRW1sLuVwOLy8vlJWVISIiwoK3RYgbMKMb553qJvh39kZnX17zMBI3w9mrJzc3F6tXr0bfvn3Rt29frFq1Cvn5+ViwYAFKSkoMHrds2TLk5uZi//79WL9+PYYOHYp169ZhyJAh2LNnDwAgMzMTCQkJ1ns3hLgwEc9unXKFEis35mHZR4eFzRBxWpyBv7a2FtXV1Zq/q6qqUF9fDwDw9vY2+YQrVqzAli1bkJSUhOrqakydOtXkNAhxR3wHcCkUqh2bWxQcexKrcMKBdZz3gbNnz8bTTz+tmaIhNzcXzz33HBoaGvDwww/zOsmQIUMwZMgQAEC3bt2oCychpqABXMTKOAP/H/7wBwwePBjHjh0DAMycORN9+/YFALz++uvC5o4IStaqwJpPjiLp0W4YMTDK3tmxq8/2XEB9UyteSn3I3llxOxk5V3CjrBbLpg8SJP0TFyTYnnMFq2c/gkA/H0HO4Wx4PflRt+8T13L2qhQ37zRg6+7zbh/4cwpu2jsLbut/+TcETf+jzCIAQP6ZciQ92k3QczkLzsB/8uRJvP/++ygpKYFCoQBjDCKRCHl5ebbIHyGEECvjDPyrV6/GSy+9hLi4OM3Si4S4iuLyOly5yX/uKUJcAWfg79SpEyZMmGCLvBBic29sOWbvLBBic5xV+BEjRmhW4yKEEOL8OGv833zzDTZt2gR/f3/4+Pg4dRu/tKYZIUG+8OA7EoY4nNrGFvh6ecLXx/y5m4hjqm9qhaeHyG1GGzPGIK1tRlhQpw7T4giNs4S/++47W+RDcBeKq/DefwvwRFwU/jiWeigB/EeCOpLFHxyCl6cH0lc8Ye+s2IETjhQywaJ/HgQAbF7lHqP5Dxbextbd5zE9oReSH+tu03NzNvVER0cjODgY1dXViI6O1vxzNhdKVKOPc07dsnNOiKXkCqW9s2BTTvj7THg4fkECADh6TmLzc3MG/l9++QUpKSlYuHAhAOD06dN44YUXBM8YIYQ4A+aEd2Kcgf+DDz5ARkYGgoKCAAD9+/dHcXGx4BlzNFkHr+KLvRegZAwfZBTi4G/87xyKrknxty9OoEkmFzCHpvnpaDH+8VWBvbNBhOAitwitciWe+dt+/GWr8Z5XrXIl3v+qACcuVBhP0InKpaahBe98cQKXS4XpasyrY377Ofd9fNxv2PP3h69j/8mbqKxpxqnLd7Bl93nex67/5jdcLK3BkaIyAXNomm8PXEZlbTP3joTYybkbVQCAG2XG57k/c60S525U4aPM07bIlk3szr+By6U1WPfNKUHS5wz8/v7+uHPnjuap89GjRxEY6Dwrzag5wo+9Mz5MJYTYkUAxgzPwL1++HPPmzUNpaSlmz56N5cuX49VXXxUmNy6uslZm7yw4pZqGFuw/WerQD3Xrm1qRfaIUrXL9UyFfLKnG6atSG+fKdeWfKcPNinp7Z4MXpZLhwMlSVNc7zvefszvngAED8Nlnn+HkyZMAgEGDBmna+4lp/pd/A1OeiLF3NpzOv74rxNVbtTbv62yKT3adReEVKRplckz43X0dXv/bl6rvj7t0VRRSdb0M6T+cBeAc5Zl3pgyf772IAwW38Oazj+nZw/YPh3mNlAgMDNTMxw8A48aNw+7duwXLFCHa1G28jvxMokSiqn3eqW6yc05cn6zVuRaYUV+3pe3uUER2bIA2a9a1xkbzFz+3Gx61xTvVTdzNCUaSaZUr0dziOD132mtsboVSqb92oVCa14zS2CznPFapZGhsbjUrfWfW3CI32PRjDr4rcBlT32T552Dt9+Xo7Pq9FuhmwKzA78i33OY6caECKzfmYf77OWansfhfB/HS+lzrZcqKZK0KLNhwEG99dlzv63/dqn+7MQqlEgs25OL1T381ut/bnx/Hgg0Hna6mZqmX1udi4YaDFqdjre9b4RUpFv3zIH44ct2idF5an4sFVnhfzmLRB7b/XgsdYg0G/qamJoP/mDWqHg5GPYrOEk0yxw1s9Y2qmt51A13jiiWmPyiT313b9bbU+B3gtdt1OnlwJy1yx3kgXXBJ1c99/4lSi9NqteP7snW1U+aCaxcbbOMfNGgQRCKRTpBX/+2MNX7nyzFxJkJWhlyxosWHE4YZp2Ew8J8/z3+Akiv74fA1Tc0WsO8DGWv5776L9s6CWZR2CoCMMWzZfR69o4PxuIElKtU5E4kASVUjvthr/TLmEwi/P3QNzRY0qTHGsPl/59C3ewiG9e/K+7ibdxrwTfYlzB3XF6FBncw+v7aTFw2MxDXzF0H7KIVSiX9nncHw/l0R1/ses9JTM+WyvC1tQNcwf4Ovf/nzRUSG+lmUHz5oSa27DF1KmQevWdwm6mj2Hbf8Vt8ebt+xT6eC5hYFDhXe5jlaW4TP91xA0bVKwfOlT9aha/jpqPlTqjQ0y3H4dBk+/fGcScdt2nkGRdcqsT3nitnnbu8XASdUvFhcjZMXK/DBd4WCnUOfT3YZL9fsE6X48ue2SoNQ8wBR4CfEyhQGek65MnXPLlu8d2vcc9vrCYW+HnD67hiEbllwm8DPeXfooC04R8+Wo6qu44g/uUKJw6dvo7GZXzczR5xBUMkY8orKUNfYYu+sWM2l0mrNw2xXUNvQgryiMps/Z3DU5xqlknoUXTNtBLahd2LPZxhuE/i5OGLcv1RajU3fn8Gb2zrOTrjn12J8+uM5bP3JeZ7FtP/xOXqmHP/ZdRb/+o7f5FqOGgwAaL7dt6WNgnVbtcfbX//NKfxn11nD7e0COXu9StgTmFmWr2/+Feu/+c06WbDj5cxr5G5eXh6Ki4shl7fVLmfNmmX0GJlMhlmzZqGlpQUKhQJjxozBokWLUFJSgqVLl6K6uhqxsbFYu3atU832actf6ep6VU24pr5jjfjW3fbu67drbZchK5PcHeV6+Sa/qWcdOOwLytq96EwpR3U3X2mNbUdNGxul7YiVNEvYo+bPGfhXrVqFoqIiPPjgg/D05L/OqY+PD7Zt2wZ/f3+0trZi5syZGDFiBLZs2YK5c+ciJSUFr7/+OjIyMjBz5kyL3gQfLa1tbWv6u6QKU/pC1P5UafL/+rrLwKlWuQKenh4G11SWtSrg623ZWr0KpRKeHro3yrJWhVV+lFrlSnh6iODhYd61yDWaVvs7YCqFkvGbJE9PNVZ9nJenlRoYeBQPYwytciV8tD5vSz+jFh7fI65rTHb3M+D6TraoP0uBajucgb+goAC7du2Ct7e3SQmLRCL4+6u6LcnlcsjlcohEIuTn52PdunUAgIkTJ+LDDz8UPPDXN7Xq9Mz59MdzeG78g+3ya/3z7jpyHTtyr1o1zcraZiz/+Ajv/b89cBk/HS3Gkt8PtGo+7IFrXvbn//4LekQE4s9pj3Z4TVrTjBX/PmLxmsuLPziEfy0eofn71p0G/N8nR81OT9vzf8/BPcGdsPbF35l8rJIxPP/3Xwy+Xl0vQ94Z89eD2J5zBZkHryJz7VN6Xzd2V7LgH7kQeYjw76UjDe5jbRt3nsGx8xJ88MrjVkvzhXWGyxdQrR/w/lcFmJHYG0mPdtO7T3llIzb/7xwOFd6Gp5Ef+P0nb1qUVy6cgT8yMtLsxBUKBSZNmoTi4mLMnDkT3bp1Q1BQELy8vDRpl5eXc6YTEuIHLy/za2pNCt2fzSNFZXgtbYjOtk6d2n7YxGLD6w2EhQVw7qfe/v3hawZf4yPoVlszjvq4S+0eHHp6ehhNU92174akgfN8puQNgM78JXyODQsNgFirj7K/X1sTH5/jaxramrwM7X+jvE7vaxfulmXOqVtYNrvjD0P7dLXT0F45raFZrvNa/nnutm/t/bne552a5g77qO8AOnXyNni8odq4ev8bWl1hPTxEBtPxNVLG8nbfI+3XPe/W5n19O+ZRPXqZ7/UlFgciILBTh21qTKvlQSwORLDWta3e79h51Uh8mVaxBAT4al4PqmzqcIwptI/p0kV1TZ+++1xi96/FmPlkW8XS399X59hDhbcBtPWA8vLyNJwHkeHPyhKcgf++++7D3LlzMXr0aJ22eK42fgDw9PTEzp07UVtbi5dffhlXr5pX+62qMr//tlgciOrqjsdXVOgG0GatScTav6atsrKBcz/1dn0Pb4yl3V6tVjun+rjaWt3ZHxUKJa80G3n0nDElb4Du7SqfY6WV9RAp2o5p0MqTqec2tr++1/SVpaFjxeJAnX3aT9Cl/Vp9PXfbt/b+fN5n+33UE+s1N7caPN5Q4FfvX1PT9h1QKpnBdLQncePKq/brirvnl8kM55HvZ1xRUYe6uuYO29Qqa3Q/y5qaJr37AUCV1ne/oV7WVh5a20299tofo4ovYWhuUl3P7cu3ocH4PPytrQrDeWCGPys+DP1ocDa6tbS0oHv37rh48SKKioo0/0wRFBSEIUOG4NSpU6itrdU8JC4rK0NERIRJaQlF+6br13Pl+O/PwoxuzTtThq+zL2n+vnyzBht3FultP2x/I8gYw+d7Luhsu1PTjAYeM19WOPh0wbYcTbzzUMc7MX12H71h0WAoY7JPlOq9I7SloqtSfLrrrNkjot//qgDP/G0/7wVyNu4swjWenRF+u3xH5+/axhZ8nHkaN+804PO9FwwcxQ9jzKojqyVVwn232t9lWQtnjf/dd981K+HKykp4eXkhKCgIzc3NOHLkCObNm4chQ4Zgz549SElJQWZmJhISHG8hhY07zwAAJo7oaVE6+po9/3N3AYmpo2Lg6eGBdz4/AQB48L5QjDAwHYCatLYZtXomOvvpaDEmjzS+wMsJG3fH08vINbzveCkmj4iBr495TXqmdPXceeganh5+P+d+2w+oRqE+Mcj452IO9ejMp4Zx58M6Ol6M679VdUscEReF3vd2MTlF9Zq4v11u69du7FP49ZwEx85L8Omr3N/5gku6gf+Hw9dx/EIFCq9ILZ74rqahRdOjzBo2/+8cJib2adtgxX6aQk1Twhn4GWP45ptvcOSI6oHi8OHDMXXqVM4uZhKJBKtWrYJCoQBjDGPHjsWoUaPQq1cvLFmyBBs2bEC/fv0wdepU67wTSwnSqUcEvo/l+dSaDF0D9pop0ZG61dmrq6crdDE1tEYD7+MZ430tmBvH1D2WrDHbqWD95w3FRAe8SDgD/9q1a3Hu3DlMmjQJAJCVlYXr169j5cqVRo/r27cvsrKyOmzv1q0bMjIyzMyucPQNkd7yP9PmK1EruirFveEBVu0ptOvIdQT4mdazylSlFfVolStxf9e2pTUZY9h15DpiooPx4H2hOvvfade3u7lFjjPXqhDXO6xDl0e1iyXV6BLgg/CQjhNR6RtdzBgzexoAJWM4dekO+vUI6fDp7vm1GH27h5iVrqmM/TCfu16J0ooGDOvP3YlCXQrqch7U+x7Ng19DwaxJJkd5VSM2bG8bdFTbYPh5T3G56e3JJZI63LzT9uyL3S33Pt27wL9Tx2v2xIUKDIgJg7eXfcaP8mn2vHqrFr4+nugaZvqEabWNrWiVKzXvj+vqraqXoeiaFA/dH2byuczFGfgPHTqEzMxMTU+ccePGYdKkSZyB35GYO+/F8QvmNY+s//Y3BHQ2HqRNrXVYu1uoPuoFVbTXMS28IkXmwWsdtgPo0I1x6+7z+PWcBLOS+iDxkXs7pM+gu/Zs+4BecOkO4mN1A+AZA5OdNcnk6OyrdfnqKc+8ItVkYwNiwjC83UyT3+y/rDddtcul/AaV8ZF1yPBn9/7XpwC0zZXPx+b/ncfx8xLMTu6DUQ93LGdt//nhLE61ay835u9382OKXUdu6Px98uIdfJR5Gn3uDcaqPzzSYf+PMk/jqWH3IfVxU5pSrVeLUl+DxqgXLHpufD/e6Wrn8Me867zfX019C9Z/8xvWvhDP+1yW4vWTq92s44xz8fNi5bdV39TqUE0h5jLlwdWF4moAHdcWVWsfm9u3y5dXdux9Zagtls8t/y2pqhZqzvD/O1q9pyydMOvaLe4Hmufvlh0f5++2rZfe4e6iq26Ht6Xyu73wLhr58TS0IJC1Wfod5FpkyNDJzHl/9TZcnpSzxj98+HDMmzcPEydOBKBq6hk+fLjgGbMVdVOCJReIUsn0N+uYkKh27Vff6FD+6Zh/bHumPjvg27sD0D9LYfsHWQql0qxmno5lYEYaPHpTmLtOMe88mJC+KWXfHmP8rxvOh+gmFLUp16q59U3t68fWTe3W/C5aG2fgX7FiBb7++mv8/PPPAIDRo0dj2rRpgmfMVp597wAA4LF+4bz2P3u9Y9PDc2sPoM+9wRbl46t9lxB1jz+C/Xzw+uZfMT2xN0IDfbkPBLD3WAmmJ/bG9pzL2J1fjHUvD0MIz2P1+fLniwgN8tX0auFjR+4VNOiZKVS7zfjfmW3dgOetzemQx11HbiCgkzeSH+uOq7dqDa4PDKBDW5n284F5a3OwYnqc2TX1/cdLdOaj1/fs4edjJfgq+xJGDORerKR9rNzKY17/4+cl+DhLt9u0oZlYsw5exfeHr3OmacjarwoAAJ+sHMW579tbjK+vfOJiBe6PCjK6D6AagT5vbQ4m/O4+Xnnk69z1SvTTehal3azz1b5LSBqsf0StNTRojYEovCLFvLU5WDNnsGDnswRn4Pfw8MDMmTNtMp+OPVXWGh9kobb/pP5FTPTd1hoLPPoqTjknbyJarJrm4uvsS3gp9SFeeVLbna/qc375Zg0e7cvvh0yfbDPWZNVu59V+b+oRlIBqVK02fdNNf73/MpIf6468ItOmF2hfngdO3UJESGe9r3H5x1fcbcDqsRjHeIzcbS/3N+4FRn7Mv9Fh200DTWjGgr4p03G38rhrOMpj2gc+P7elFapmKr6LHPH9Cc85dUsn8NuSvuadvKIy+HM877MHg4F/27ZtmDNnDt577z297frO9HCXF1dokCfuxQG7CQIOmy3BOVMIMRj4fX1Vt+HqidacEWMMn35fBKanJvPruXI81q9t1DDfaWdNWWTD2Ax8ZZWN8PHWbf87cbFCU+N3RDcr6rH3WAlmjO7Nq5fR7qM3cMTEmjsAZPJI+8PM06iqk+H1uY8iyM8Ht4w86DSlxr/3WAnnPrqzYHInfqGk7cHtZh5dhHN/u2U0WXU97GDhbc1djan0PYBf/tFhnb8/22PZCFmrMtDIv/TDQ3hAq1vujfI6o887JHqmf3n/qwJUVDfhxdSHkFNwE+FmlOlXe86jXE9HiH0nSjHYgrtvoRgM/NOnTweg6r4ZE6M7KvTKFeutqykkSVUTsn7Rn9eNO8/oBH59zQ5C+mfGb/Dztd4toPaUD0LVPP6y9RjkCoYWuRJHz3JPrmfKMwJtPxy5jpFxxkfLXrmp6inzXc4VpD3ZD+/9t6DDPuY8ENSeTsOQQ6fbfsyaZKZNea2eoMuYrbvP85rCWK5Q4muObqmGpmJeq6e82j+jySkwb4ZIW9Z8q+tbdK5FSVWT0UVj/p11psM2dc+nv24z8kyJw3+NTCNxXKu501FwXl3Lly/ntc0ROfLap/VNrZxz7JgSuGzxTtXzhnDPDWS7cm9qUQVe7Rk029wd3AQDva54av+sprVVIXh0E7rHkPZkbK7GWG80V37fpjBY46+srERlZSVkMhmuXLmi6cZVV1eHxkbzZ8t0JHxXfjLkzLVKsxfNMDRM3twfq8On22qS7UfU2tqNMv0PIU1xm0cfdQAAYwa/zKK2Xay6lJ+9qxMNTfzWWXYE7SdbM5cp3zLjn7V1Pr0rFsYOezMY+H/44Qds27YNEokE8+bN02wPDAzEc889Z5PMCU09QZq51n1j+ihHNUOz7v2Y17E3Bx/asw1+e+Ayxg7pblY6vHB8d9r33jGHscE/7f2Fo4shABwws9kCAK6X2WF5SyNlLNTEXUL4Z0ahzc9pbMEZU0vuvIEBcG9bGDv0OW5GDzFzGQz8c+bMwZw5c7Bx40a88MILNssQIaZgAKQGuuJaa5C5vtHDIohM6ipJLGSlz9LU30yTRu5aqFhim9HMAI82/jFjxkAmU32xDh48iPT0dNTUOPdtjrswZapip2XoLbrDe3dUztSv0ZHY8JLlDPyLFy+Gh4cHSkpK8Oc//xklJSV49dVXbZE3ixkabOUojM2SCAAfZZq24I22G2V1mlHJ1lbJowdUdb1tekkZWmfg+IUKi0azajO0eLuQ3Plnq1bPanH5FqwXbAlbfvRFBiYkFAJn4Pfw8IC3tzd++eUXzJgxA3/961975x3uAAATU0lEQVRx+zZ3lzRHIPSCxZYSstfRtweMd/OzhLE+82qGZtV0Rvq+/K46V6Ej0Neubmq3WUPc4i6YB87AL5PJcOfOHRw4cABDhw4FQIVHCHFOFLlUOAP/nDlzMHbsWPj5+aF///4oKSlBYKD1V30n1mWP6Xhd1eYfdSdV23e8xC5jRMqrmvDGZu4eTPZmaXdi9dKnQqipN9682p6+iQddAeckbdOmTdOZjTMqKgpbtmwRNFOEOJL23ScN9SKyhWKJ5WMkhHbAwZtYCY8af1NTEzZs2IBly5YBAK5fv47c3FzBM0YIIUQYnIH/jTfegFwux/nzqtvdyMhIfPjhh4JnjDg37fnsCSGOhTPwX7hwAcuXL4e3t2pCMX9/fygFnkeEEEKIiqHRw5bgDPw+Pj46f8tkMurVQwghNlIiwHMdzoe7gwcPxsaNG9HS0oKjR49iy5YtSEhIsHpGCCGE2AZnjX/JkiVgjMHf3x/vv/8+BgwYgIULF9oib4QQQgTAWeP39vbGiy++iBdffNGkhG/fvo2VK1dCKpVCJBLh97//PebMmYPq6mosWbIEN2/eRHR0NDZs2IDgYMsWKieEEJclwChxzsC/du1avdu51tz19PTEqlWrEBsbi/r6ekyePBnDhg3Djh07EB8fj/nz5yM9PR3p6elYsWKFebknhBBiMs6mHj8/P80/T09PHDx4EFVV3E+Zw8PDERsbCwAICAhAz549UV5ejuzsbKSmpgIAUlNTsW/fPgvfAiGEEFNw1vgXLFig8/fzzz+PV155xaSTlJaW4ty5cxg4cCCkUinCw1WLD4vFYkilUs7jQ0L84OXladI5CSHEFXTu7AOx2LrT5HAG/vb8/f1x69Yt3vs3NDRg0aJF+NOf/oSAgACd10QiEUQ8pjmsqnKNpR4JIcRU9fUyVFSYt0iLoR8Mk9r4GWMoKipCTEwMr5O2trZi0aJFmDBhApKTkwEAYWFhkEgkCA8Ph0QiQWhoKK+0CCHEHQmx0ptJbfxBQUGYMWMG/vGPf3AmzBjD6tWr0bNnT6SlpWm2JyQkICsrCwCQlZWFxMREC7JPCCEuToDxsiIm0DDc48ePY9asWejTpw88PFS/L0uXLsWAAQOwePFi3L59G1FRUdiwYQO6dOliNC1zb3Oe+dt+s44jhBBHMXlkT6TE32fWsWY19eTn5+Ojjz7CxYsXAQCDBg3CkiVL8MADD6ClpaXDdA7aBg8ejAsXLuh9bdu2bXzzTQghbk2IpR8MNvX89NNPWLlyJZ588kls3boVW7duxYgRI/DKK6/g/PnzJg/oIoQQYgYBGmUM1vg3bdqETz/9FL1799Zs69evHwYPHoypU6di/PjxVs8MIYQQXUK0xRus8ctkMp2gr9anTx+Eh4fjzTffFCA7hBBCdNiyqae1tRWtra0dtre0tIAxBk9PGlBFCCFCs2mNPzExEa+++irq6tp61NTW1mLVqlXUBZMQQmxEiI6XBgP/0qVL0alTJ4wcORITJ07ExIkT8cQTT6BTp06a9XcJIYQIS4gO9wYf7vr4+OCdd97BggULcPHiRTDG0KdPH0RHR1s/F4QQQvQSoqmHc8qGqKgoREVFCXBqQggh3OwwZQMhhBD7EaKphwI/IYQ4MKUAQ3cp8BNCiAOrrpdZPU0K/IQQ4sCKy+utniYFfkIIcWBKW/bjJ4QQYn/0cJcQQtyMTUfuEkIIsT+bztVDCCHE/qg7JyGEuBlq4yeEEGIxCvyEEOLQqKmHEEKIhSjwE0KIAxPg2S4FfkIIcWTUj58QQojFKPATQogDc6oBXK+99hri4+Mxfvx4zbbq6mqkpaUhOTkZaWlpqKmpEer0hBDiGpypjX/SpEn45JNPdLalp6cjPj4ee/fuRXx8PNLT04U6PSGEuASnqvE/+uijCA4O1tmWnZ2N1NRUAEBqair27dsn1OkJIcQlCPFwl3OxdWuSSqUIDw8HAIjFYkilUl7HhYT4wcvLU8isEUKIQ/LwEEEsDrRqmjYN/NpEIhFEIhGvfauqGgXODSGEOCaFgqGios6sYw39YNi0V09YWBgkEgkAQCKRIDQ01JanJ4QQAhsH/oSEBGRlZQEAsrKykJiYaMvTE0IIgYCBf+nSpZg+fTquXbuGESNGYPv27Zg/fz4OHz6M5ORkHDlyBPPnzxfq9IQQ4hKc6uHu+vXr9W7ftm2bUKckhBCXQ/PxE0KIm3GqfvyEEEKsgSZpI4QQt0JNPYQQ4mb8O1n/USwFfkIIcWAzRvexepoU+AkhxIH5elt/uhoK/IQQ4mYo8BNCiAPrEWndCdoACvyEEOLQAjp7Wz1NCvyEEOJmKPATQoibcenA/+Yzjwl+jpioIMHP4a78fIVdLqJ7eIDm/z7ezv9VGPNYN8HP4e3l/OUklBEDu9o7C7y59Kd4r9YXWwiDet+D1X8crPe1zasSMG5Id0HP78oWTuqPueP66mzbvCrB4nTH/+4+AIAIwIqZgzTbNy57wuK0AeCFp2PR595gzv243ktYkK/J547rdY/Jx5iia5gfdrw3gff+zz8VK2BurCvI38fiNOaO69dh271if87jVv/xEQzrH2nx+U3h0oFfaJ18jNdIfQTof+suPD1F8PTkt0KbKXzv1uz9O3vDg+cKcKbw9vKAXyfLH8b5m/FAz9ND2K+zqXdgznR3IMToWL48PUTo5G3b8zvPJ2OmtPGxeOj+UPTvGYb42EgsnNwfAHRq4797KBJPD79f7/Gx94Vo/h/crlbwh2TViDp1zbRPty4Y3DccfxzzAAAg+VHdW291t6zh/bsi9n7d1cdeSn0IAJDwcDQAID42Ag/dH4rggI41kcf6hWue9M9/6kHEx0ZgwaT+6Brmh0f6iLFsehwA1QX1yANihAb5YuqoGM3xPl4eCO/SGf/502gMH9AVq2Y9jBEDuyImumOzVUig/prnxMfbyitpcNv7HPpgBOaO66upfUaG+uG58f3w+1G9AABBfroBbVZSH8TH6tZ2uob5Ifb+UAyICcPwAV2R8HC0pqb+wtP6a5FPDbsPve4NRr8eIZra24JJ/TFuaHfN5zF7zANIePhexMdGYuWMQejs64VOPp7odbeGrr429BncN1yTh5T4HprtvaKD0bd7F83fA2PuwZyxqvM90kes8+Nyf1fV568uC321wckjeyI+NgJLp8XplFVkqJ+mbLRNGtETK6bH4Ym4KPSMDtLJW3uhWncR0WJ/PNYvHLOS9I8KnZ7Yu8O2F+9eozMSe2Pm6N54eWJbeYUFdUL3iADNYKMekYGI63UPYqKDcE9wJzzWT7XW9rLpcR2a1SY+fr/RGrcIqrtrbdrfrUceEGPhpLa8LND6/+zkPpg0oidGDYrG7DEPID42Au/MH4r42EgsmjJAs9+qWQ/jVa07QED1PVGbldRHJw8LJvVHQGdv9IoOxoiBXfHuS8MAoEMaDEDiw/d2eE+dfT0REuiL4f27okdEIJ4afp/OdQSovuf/Z6BFwVIiJsQs/1Zm7nqTgGrNSVOOVyoZnlt7QPP3354fivAQPyNHOC99ZfOXLcdwo7wOA2LCsHjqQF7pXCqtxrtfnARgneYYezP1mjHXzkPXsPPQNQD6y+3EhQp8lHna4OvW9Mzf9gMAPn11lNG1sG1VNs6mfbl8tOM0TlysQLTYH399dohm+ztfnMDl0hr06xGCFTMG6UvK6vnSx+Vr/Caz/t2/UzKlGBy/6kAI0UaBv532AS84wPSHbM6MmTH3d/TdJovhA5ynV4MjeLiPGAAw5YkYva+rm95GP9KxqUAoxmr7hL+RcVEA0KGDR/LdZtFEG36m+lBTjx5yhRKeHiIolAxenq7726ivbN7Y/CuKJfWI63WPThsoF7lC6TJlZcvmDK5ys1W5qpt6uJqUqKlHP33lYuizs+V3xVBTj/0eZTsw9YfiJUCvElflKkHf1rjKjcrVeRn67BzhM7V/DohD6Xl3QFr3CGHHQBBC7Idq/ETHtMTe6NsjBIN6i+2dFUKIQCjwEx2+3p54rF+EvbNBCBEQNfUQQoibsUvgz83NxZgxY5CUlIT09HR7ZIEQomXuuL4dRpoT12Xzph6FQoE333wTW7ZsQUREBKZMmYKEhAT06tXL1lkhhNw1YmCUvbNAbMjmNf7CwkL06NED3bp1g4+PD1JSUpCdnW3rbBBCiNuyeY2/vLwckZFtk3JFRESgsLDQ6DEhIX7w8jJ/pktDgxgIlY0hVC6GUdno50zl4hS9eqqqGs0+lkYaGkZlox+Vi2FUNvo5ark4zCRtERERKCsr0/xdXl6OiAjqPkgIIbZi88Dfv39/XL9+HSUlJWhpacGPP/6IhATnn8qXEEKchc2bery8vPD666/jueeeg0KhwOTJk9G7d8dFHwghhAjDLm38I0eOxMiRI+1xakIIcXs0cpcQQtyMU8zHTwghxHqoxk8IIW6GAj8hhLgZCvyEEOJmKPATQoibocBPCCFuhgI/IYS4GQr8hBDiZlw68LvDSl+3b9/G7Nmz8eSTTyIlJQXbtm0DAFRXVyMtLQ3JyclIS0tDTU0NAIAxhrfeegtJSUmYMGECzpw5o0krMzMTycnJSE5ORmZmpmZ7UVERJkyYgKSkJLz11ltwpqEfCoUCqampeP755wEAJSUlmDp1KpKSkrB48WK0tLQAAFpaWrB48WIkJSVh6tSpKC0t1aSxadMmJCUlYcyYMTh48KBmuzNfX7W1tVi0aBHGjh2LcePGoaCggK4ZAFu3bkVKSgrGjx+PpUuXQiaTueY1w1yUXC5niYmJrLi4mMlkMjZhwgR26dIle2fL6srLy1lRURFjjLG6ujqWnJzMLl26xN577z22adMmxhhjmzZtYmvXrmWMMZaTk8OeffZZplQqWUFBAZsyZQpjjLGqqiqWkJDAqqqqWHV1NUtISGDV1dWMMcYmT57MCgoKmFKpZM8++yzLycmxwzs1z+bNm9nSpUvZ/PnzGWOMLVq0iO3atYsxxtiaNWvYl19+yRhj7IsvvmBr1qxhjDG2a9cu9sorrzDGGLt06RKbMGECk8lkrLi4mCUmJjK5XO7019fKlSvZt99+yxhjTCaTsZqaGre/ZsrKytioUaNYU1MTY0x1rXz33Xcuec24bI3fXVb6Cg8PR2xsLAAgICAAPXv2RHl5ObKzs5GamgoASE1Nxb59+wBAs10kEiEuLg61tbWQSCQ4dOgQhg0bhi5duiA4OBjDhg3DwYMHIZFIUF9fj7i4OIhEIqSmpjpNOZaVlSEnJwdTpkwBoKq55ufnY8yYMQCAiRMnat7L/v37MXHiRADAmDFjkJeXB8YYsrOzkZKSAh8fH3Tr1g09evRAYWGhU19fdXV1OHbsmKZcfHx8EBQURNcMVHeIzc3NkMvlaG5uhlgsdslrxmUDv76VvsrLy+2YI+GVlpbi3LlzGDhwIKRSKcLDwwEAYrEYUqkUQMdyiYyMRHl5ucHyMrS/M3jnnXewYsUKeHioLvOqqioEBQXBy0s1N6H2eykvL0fXrl0BqGaQDQwMRFVVFe9ycabrq7S0FKGhoXjttdeQmpqK1atXo7Gx0e2vmYiICDzzzDMYNWoUhg8fjoCAAMTGxrrkNeOygd/dNDQ0YNGiRfjTn/6EgIAAnddEIhFEIpGdcmYfBw4cQGhoKB566CF7Z8XhyOVynD17FjNmzEBWVhY6d+7cob3ZHa+ZmpoaZGdnIzs7GwcPHkRTU5NO+7wrcdnA704rfbW2tmLRokWYMGECkpOTAQBhYWGQSCQAAIlEgtDQUAAdy6WsrAwREREGy8vQ/o7u5MmT2L9/PxISErB06VLk5+fj7bffRm1tLeRyOQDd9xIREYHbt28DUAXGuro6hISE8C4XZ7q+IiMjERkZiYEDBwIAxo4di7Nnz7r9NXPkyBHce++9CA0Nhbe3N5KTk3Hy5EmXvGZcNvC7y0pfjDGsXr0aPXv2RFpammZ7QkICsrKyAABZWVlITEzU2c4Yw6lTpxAYGIjw8HAMHz4chw4dQk1NDWpqanDo0CEMHz4c4eHhCAgIwKlTp8AY00nLkS1btgy5ubnYv38/1q9fj6FDh2LdunUYMmQI9uzZA0DVI0V9TSQkJGh6pezZswdDhw6FSCRCQkICfvzxR7S0tKCkpATXr1/HgAEDnPr6EovFiIyMxNWrVwEAeXl5iImJcftrJioqCr/99huamprAGENeXh569erlmteMXR4p20hOTg5LTk5miYmJ7OOPP7Z3dgRx7Ngx1qdPHzZ+/Hj21FNPsaeeeorl5OSwyspK9sc//pElJSWxOXPmsKqqKsYYY0qlkr3xxhssMTGRjR8/nhUWFmrS2r59Oxs9ejQbPXo0y8jI0GwvLCxkKSkpLDExkf3lL39hSqXS5u/TEvn5+ZpePcXFxWzy5Mls9OjRbOHChUwmkzHGGGtubmYLFy5ko0ePZpMnT2bFxcWa4z/++GOWmJjIkpOTdXqnOPP1dfbsWTZx4kQ2fvx49uKLL7Lq6mq6Zhhj//znP9mYMWNYSkoKW758uaZnjqtdMzQfPyGEuBmXbeohhBCiHwV+QghxMxT4CSHEzVDgJ4QQN0OBnxBC3AwFfkIIcTMU+AkhxM38P3Ad7zamOZbqAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(ques_len)\n",
    "plt.ylabel('Question Length')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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LE6z2dyuOOLi4igrK2ux3W63U15eTlxcnNdzHDt2jHXr1vHXv/7Vvc1ms1FaWsqll17Kr3/9a1atWsX+/fsZO3asu8PYm656jdpy9OhRCgoKmjUBORwOd5PXmdcIDw93X6O0tLTZ50elUnn9PLV1PtE5kiAEBQUFmM1mfvzjH7d4LioqisWLF7N48WL27dvHnDlzGDZsGJdddlmr5/NWwyguLm72t06nIy4ujoiICOrr693PORyOZr+2vZ23T58+HD161P342LFjaLVa4uPjKSkpafPY08XFxaHT6Th27BiDBg1yx9meL2CAyy+/nN///vfU1tY2a2b673//i06n46KLLgJcX751dXXu58vKytzXSEpK4s477+Suu+7yeI1p06Yxbdo0qqurWbJkCcuWLePZZ5/122vUlqSkJC655BJycnI6fGxCQkKzRKwoSrO4vJVPdC1pYurBqqur2bJlCwsXLuTaa6/lggsuaLHPli1bOHToEIqiYDQa0Wg07v+T9u7dm6Kiog5f99///jf79++nrq6OlStXkpGRgUaj4dxzz6WhoYEPP/wQm83Giy++iNVqdR8XHx/P0aNHcTqdHs87depUXn/9dYqKiqipqWH58uVMnjy5wyOpNBoNkyZNYvny5VRXV3P06FFycnKa/QJuS1ZWFomJiSxYsIAjR45gs9n4+OOP+e1vf8utt96K0WgEYPDgwbz33ns4HA7y8/PZsWOH+xyzZs3i73//O19//TWKolBbW8uHH35IdXU1Bw8eZNu2bVitVvR6PWFhYe4hyv56jZo4nU4aGhrc/6xWK1dddRWFhYWsW7cOm82GzWajoKCgXX0Z48eP57vvvmPjxo3Y7XbeeOMNjh8/7n4+Pj4es9nc7HMhfEcSRA/UNPJo/PjxvPTSS8ydO7fVIa6HDh1i7ty5jBw5ktmzZ3P99dczZswYAG6//XZefPFFRo0a1WqHtCdZWVksXryYK664AqvVykMPPQS4RlU9+uijPPzww4wbN46IiIhmzQuTJk0CYPTo0R7nE8ycOZNrr72WG2+8kQkTJqDX63nkkUfaHdfpHnnkESIiIrjmmmu44YYbmDp1KjNnzmzXsXq9npycHJKSkvi///s/LrroIubNm8ecOXOYP3++e7+HHnqILVu2MGrUKN59912uueYa93PDhg3j8ccfZ+nSpVxyySVMnDiRd955B3ANo33uuecYPXo0Y8eO5eTJkyxcuNDvrxG4RlMNHz7c/W/OnDlERUXx6quv8v7773PllVcyduxYli1b1q4v9V69erFy5UqeffZZRo8ezf79+xk6dCg6nQ6AMWPGMGjQIMaOHcvo0aPPOm7RPiq5YZAQvmWz2bjtttswmUw8/fTT0kzSAU6nk3HjxrFs2TL3DxPhP1KDEMLHdDodq1atIiUlhYMHD3Z3OAHv448/pqqqCqvVyksvvQTAiBEjujmqnklqEEKIgLJq1Sr++te/YrVaGTRoEA8//LC7Y1/4lyQIIYQQHkkTkxBCCI9CZh5EWZmlU8fHxUVSXh78k2ukHIEjFMoAUo5A4osyJCQYW31OahCNtFpNd4fQJaQcgSMUygBSjkDi7zJIghBCCOGRJAghhBAeSYIQQgjhkSQIIYQQHkmCEEII4ZEkCCGEEB5JghBCCOGRJAghhBAeSYIQQgjhUcgstRFKPvzqqMftV43o63G7EEL4gtQghBBCeCQJQgghhEeSIIQQQngkCUIIIYRHPk0Q+fn5ZGRkkJ6ezpo1a1o8v2PHDqZPn86QIUNYv359i+erq6sZN24cS5cu9WWYQgghPPBZgnA4HCxdupRXXnmFvLw83nvvPfbv399sn6SkJJ566immTp3q8RwrVqzgkksu8VWIQggh2uCzBFFQUMCAAQNISUlBr9eTmZnJpk2bmu3Tr18/Bg8ejFrdMoxdu3Zx4sQJrrjiCl+FKIQQog0+SxBms5nExET3Y5PJhNlsbtexTqeTZ555hl/+8pe+Ck8IIYQXATlR7m9/+xvjxo1rlmC8iYuL7PTt+Nq6N6s/GaPCPW5vb3yBUo7OCoVyhEIZQMoRSPxZBp8lCJPJRElJifux2WzGZDK169idO3fyxRdf8Oabb1JTU4PNZiMyMpIHHnig1WM6eyPvhAQjZWWWTp2jq1iq6z1ub098gVSOzgiFcoRCGUDKEUh8UYa2Eo7PEsSwYcMoLCykqKgIk8lEXl4ezz33XLuOPX2/d955h127drWZHIQQQnQ9n/VBaLValixZwrx585gyZQqTJ08mNTWVlStXujurCwoKGDduHOvXr+fRRx8lMzPTV+EIIYToIJWiKEp3B9EVOlvtCqTqZ2cW6wukcnRGKJQjFMoAUo5A4u8mJplJLYQQwiNJEEIIITySBCGEEMIjSRBCCCE8kgQhhBDCI0kQQgghPJIEIYQQwiNJEEIIITySBCGEEMIjSRBB7Kv9xzleWdfdYQghQpQkiCBVVWNl1dsFvPLenu4ORQgRoiRBBKnKGisKsK+ogtJOLnUuhBCeSIIIUtV1NvffW78paWNPIYQ4O5IgglTNaQni013FOJ2eF+U9cKySA0cr/RWWECKESIIIUtX1rgQRFaHjZFUDew6Ve9zvpXW7WfPubn+GJoQIEZIgglRTDeLqka57RGz9prjFPg1WByeq6qmssfo1NiFEaJAEEaSa+iCGD4onsVckX+4ro7be1myfsgrXEFirzYnN7vR7jEKI4CYJIkg1JYioCB1XDEvEZneyfU9ps33M5afmSJyZPIQQwhtJEEGqps4OuBLE5UOTAPjiu+YJorTi1PDXmnq7/4ITQoQEbXcHIM5OdZ0NlQoiwrQYwlUkxIZTVFrdbB/zyVM1iBqpQQghOsinNYj8/HwyMjJIT09nzZo1LZ7fsWMH06dPZ8iQIaxfv969fc+ePcyePZvMzEymTZvG+++/78swg1J1nQ1DuA61SgVAv4QoLLU2yi317n1On0AnNQghREf5rAbhcDhYunQpOTk5mEwmsrOzSUtLY9CgQe59kpKSeOqpp3jttdeaHRseHs4zzzzDOeecg9lsZubMmYwdO5bo6GhfhRt0qutsREXo3I/7JhjY+f1xDhdbSI4LB6C0QvoghBBnz2cJoqCggAEDBpCSkgJAZmYmmzZtapYg+vXrB4Ba3bwic+6557r/NplM9OrVi5MnT0qCaORUFGrqbST2inRv65cQBUBhSRXJceFYbQ5OVjW4n2/qsxBCiPbyWYIwm80kJia6H5tMJgoKCjp8noKCAmw2G/37929zv7i4SLRaTYfPf7qEBGOnju8qxqhwj9ub4quus6Eo0Csmwr1tqEMBdnOouIqscQM5XFIFQFK8geITNaBRB0z52ivY4vUkFMoAUo5A4s8yBHQndWlpKYsWLeKZZ55pUcs4U3knF6xLSDBSVmbp1Dm6iqW63uP2pvia+hZ0mlPb9Cho1CoOlVRRVmZh78HjAKT0cSWIshM1AVO+9gik9+NshUIZQMoRSHxRhrYSjs86qU0mEyUlpxaRM5vNmEymdh9fXV3NHXfcwX333ceIESN8EWLQqj5tiGsTrUZNUnwkh0ssOBWF0sY5EOcluZrlZBSTEKKjfJYghg0bRmFhIUVFRVitVvLy8khLS2vXsVarlV/84hdkZWUxadIkX4UYtJomyRnCdc2290uIot7q4HhlvTtBnONOENIHIYToGJ81MWm1WpYsWcK8efNwOBzMnDmT1NRUVq5cydChQ5kwYQIFBQXMnz+fqqoqtmzZwqpVq8jLy+M///kPn3/+ORUVFeTm5gLw9NNPc+GFF/oq3KBSc9os6tP1TTAAcLS02t0MldInCrVKRa0kCCFEB/m0D2L8+PGMHz++2bYFCxa4/x4+fDj5+fktjsvKyiIrK8uXoQW16lYThGsk05GyaszldcQY9K6JdBFaaWISQnSYLLURhJq+7A0RZzYxuWoQh8zVnKiqxxQXAUBkuE6amIQQHSYJIgi1VoOIjw4nIkzL7sKTKAr0iXPNkzCEa6mtt6Eonm8qJIQQnkiCCEKtJQiVSsWARCMNVgcAfdw1CC12h4LVJkt+CyHaTxJEEDrVSd2yC2lA0qnZ5k0JIqpxtJP0QwghOkISRBCqrrOj16nReZg5PiDxVIIwNTYxRYa7EomMZBJCdIQkiCB05kJ9pxuQdGpWZELsqU5qkBqEEKJjJEEEoep6W4tJck2aahDGSJ275hDV+F8ZySSE6IiAXotJtGR3OGmwOlqtQcREhTGob4y79gBSgxBCnB1JEAHOqSh8W1h+ak2lOs9zIE7365t+3OyxoakGIUt+CyE6QJqYAlxZeR1fflfGNwdPAK0PcW1LUzKpbZAahBCi/SRBBLj6xjkNZY13h6tuY4hrayKlD0IIcRYkQQQ4q901ua3c0kCD1XFqqe9WOqk9aerQbmqeEkKI9mjXz9DDhw9z+PBhHA6He9uZi/AJ37DZXK+5orhuJ9raOkxtMcg8CCHEWfCaIJ577jnWrl3LwIED3Xd1U6lUkiD8pKkGAbD/aCUqlQroWB+EXqdBq1FLE5MQokO8Joj169ezceNGoqKi/BGPOEOD7VSt7cDRKhLjGxfg60CCAFctQoa5CiE6wmsfREJCgiSHbmRrrEFo1CoOHKs8q1FM4OqoliYmIURHtFqD+OijjwAYMWIECxcuZNKkSYSFhbmflyYm/7A21iBMvSI5dryGwmLXDcubEsSHXx1ttr8xKhxLdT1XjejbbLshQkfJyVqcioK6sZlKCCHa0mqCeOWVV5o9/stf/uL+W/og/Mdqd6ICknu7EsSRsmpUQGRYx+Y4GsK0KArUNzjcw16FEKItrX5TnJ4QRPex2hzodOozls7QolZ3rBbQtNxGbb1NEoQQol289kFcf/317drmSX5+PhkZGaSnp7NmzZoWz+/YsYPp06czZMgQ1q9f3+y53NxcJk6cyMSJE8nNzW3X9UKR1e5Er9XQKzrcnRTUahUffnW0RfNSWwwRMllOCNExXhNEfX19s8cOh4PKykqvJ3Y4HCxdupRXXnmFvLw83nvvPfbv399sn6SkJJ566immTp3abHtFRQUvvPAC//jHP1i7di0vvPBCu64Ziqw2B3qdGo1aRXy0qw8oTNfyPhDeGGTBPiFEB7XZB/HKK69QXV3NZZdd5t5eX1/PtGnTvJ64oKCAAQMGkJKSAkBmZiabNm1i0KBB7n369esH4J5f0WTr1q1cccUVxMbGAnDFFVfw8ccft0gkoc7pVLA7FPSNNwZKiI2grKKeMH3HE4TcNEgI0VGtJojZs2czadIkHn/8cZYsWeLeHhUVRUxMjNcTm81mEhMT3Y9NJhMFBQXtCsrTsWazuc1j4uIi0Xq4w1pHJCQYve/kB8aocADqGlxf5pEROoxR4fRPjObbwnKiIvXufVo7/syyJPVxPVbrNAFTTm+CJc62hEIZQMoRSPxZhlYThNFoxGg0snr1ar8F0xnl5bWdOj4hwUhZmaWLoukcS7WrWa+qxgq42gEt1fXEGHTEGcNIiAl373OmpmGuZ5bFYXUlm5Ky6oApZ1sC6f04W6FQBpByBBJflKGthON1OMuYMWPcyzs0MRqNjBgxgkWLFpGQkODxOJPJRElJifux2WzGZDK1K2CTycRnn33W7NhLL720XceGkqZlNvQ6VxNcmE7DtCvOOatzSR+EEKKjvHZS//SnP2Xq1Knk5OSQk5NDVlYW6enp9O/fn0ceeaTV44YNG0ZhYSFFRUVYrVby8vJIS0trV1Bjx45l69atVFZWUllZydatWxk7dmz7SxUimibJ6bWdX3S3aRST9EEIIdrLaw0iPz+ftWvXuh8vXryYmTNn8s9//pPMzMzWT6zVsmTJEubNm4fD4WDmzJmkpqaycuVKhg4dyoQJEygoKGD+/PlUVVWxZcsWVq1aRV5eHrGxsfz85z8nOzsbgF/84hfuDuuepGmZDd1ZjFo6U+QZS347nQo2h/OsRkQJIXoGrwmiqqqKiooK9xd0eXk51dXVAOh0ba8HNH78+BYzrhcsWOD+e/jw4eTn53s8Njs7250geqqGTtQgzpwj4XAqgGseRG29nRVrv6a0oo5n77oMXSc794UQoclrgrjpppvIyspyf9Hn5+czb948ampquPjii30eYE/W1AfRFb/yNWoVWo2Kk5YGnntrJz80run0Q7GF81N6Xu1MCOGd1wRx4403MmrUKHbs2AHADTfcwODBgwGaDX8VXa/pZkE6Xdfc+E+v02A+6Rrt1S/BwJGyGvYVVUiCEEJ41K5FeQYPHuxOCsJ/3KOYuqgJKEynobbezpXDk5gx7jzue+ET9hVVdMm5hRChx2uC+PLLL3n22WcpKirC4XCgKAoqlYpt27b5I74ezT2KqYtqEMMHxtM7JpzJYwagVqlI7BXJ90crcTidaNRye3IhRHNeE8RDDz3Ez3/+c0aMGNFiSQzhW11dgxiQaGx2n4jzU2LJ//oYh83VnJsU7fGY1hYEPPN+E0KI0OM1QYSHh7dr7SXR9aw2ByoVaDW+ucHPBY0J4vuiilYThBCi5/JaJRg3bpz77nLCv6w211LfZ85k7yqpKa41tb6TfgghhAdeaxBvvfUWq1evxmAwoNfrpQ/Cj6x2R5f1P3jSOyaC+Ogwvj9SKbciFUK04DVB/POf//RHHMIDq81JZFjbkxE76/yUWLbtNlN8opa+vQ0+vZYQIrh4/Xnat29fYmJiqKiooG/fvu5/wrccTicOp+LTGgRAauMcCBnuKoQ4k9dvn48++ojMzEzuvvtuAL755hvuvPNOnwfW01ltTSOYfJsgLpAEIYRohddvn+eff563336b6GjXKJdhw4Zx+PBhnwfW03XlQn1tSewViTFSx76iChRF8em1hBDBpV0/T8+854Ner/dJMOKUzizU1xEqlYpBfWMotzRQUW316bWEEMHF67ePwWDg+PHj7qGW27dvx2gM/tv2BbqmJiZ/LMfdOyYCgIrqBp9fSwgRPLyOYnrggQe47bbbOHLkCDfddBOFhYW8+OKL/oitR7Pau3ahvrbERrlqhJVSgxBCnMZrghg+fDh//vOf+fLLLwEYOXKkuz9C+I7N1rXLbLQl2tCYIGqkBiGEOKVdq7kajcZmN/6ZPHky//nPf3wWlDhVg/D1MFeA2KgwACprpAYhhDjlrL59amtruzoOcQarH2sQMQZpYhJCtHRWCcJXawOJU/xZg4hu6oOQGoQQ4jStNjHV1dW1elB7x8vn5+fzxBNP4HQ6mTVrFrfffnuz561WKw8++CC7d+8mNjaW5cuX069fP2w2Gw8//DDffvstdrud6667jjvuuKOdRQoNvqpBeFq+W1EUNGoVlTKKSQhxmlYTxMiRI1GpVM2SQdPj9tQgHA4HS5cuJScnB5PJRHZ2NmlpaQwaNMi9z9q1a4mOjuaDDz4gLy+PZcuWsWLFCtavX4/VauXdd9+lrq6OzMxMMjMz6devXyeLGzz8WYNQqVREG/RSgxBCNNNqgti7d2+nTlxQUMCAAQNISUkBIDMzk02bNjVLEJs3b2b+/PkAZGRksHTpUncCqqurw263U19fj06nIyoqqlPxBBurzYlapUKj9k9zXoxBz5Gymnb/ABBChD6f/Tw1m80kJia6H5tMJsxmc4t9kpKSANBqtRiNRsrLy8nIyCAiIoKxY8dy9dVXc8sttxAbG+urUAOS1e5Er1P77cs6xqDH7nBS12D3y/WEEIGvXcNc/a2goAC1Ws3HH39MVVUVN9xwA5dffrm7NuJJXFwk2k621yckBMYMcWNUODa7k3C9FmNU+Fkd31GJCVF8feAEar2u2evQ2rn88VoFyvvRGaFQBpByBBJ/lsFnCcJkMlFSUuJ+bDabMZlMLfYpLi4mMTERu92OxWIhLi6OVatWceWVV6LT6YiPj+fiiy/mm2++aTNBlJd3buhtQoKRsjJLp87RVSzV9TTYHBjCtViq6zt0rDEqvMPHAOgbm7J+KCon/LR6ZWvn8vVrFUjvx9kKhTKAlCOQ+KIMbSUcnzUxDRs2jMLCQoqKirBareTl5ZGWltZsn7S0NHJzcwHYsGEDY8aMQaVSkZSUxPbt2wHXnIuvv/6a8847z1ehBhyHw4nTqaDz8UJ9p3MvtyGzqYUQjdpVg9i2bRuHDx/Gbj/VPv3Tn/607RNrtSxZsoR58+bhcDiYOXMmqamprFy5kqFDhzJhwgSys7NZtGgR6enpxMTEsHz5cve5f/WrX5GZmYmiKMyYMYPBgwd3opjBpcGPC/U1iTY0zqaWyXJCiEZeE8TixYvZtWsXQ4YMQaPp2BfW+PHjmy3RAbBgwQL332FhYTz//PMtjjMYDB639xT+HOLaJFYmywkhzuA1QezcuZP33nsPnc6390YWpzQt1KfzwzIbTU4ttyFNTEIIF68/UU8fqir8oztqEDFSgxBCnMFrDeKcc87h5ptv5pprrml2JzlvfRDi7NXUu/p6IvT+G4Ws02qIDNNKghBCuHn9BrJarfTv3599+/b5Ix4BWGpdX9LRBv8268VE6aWTWgjh5jVBPPXUU/6IQ5zGUmsDwBjp33t/xxj0FJ+oxe5wotX4r3lLCBGYvCYIRVF46623+PTTTwEYO3Yss2bNkvV6fKiqxopOoyZc779OaoCYxhsHVdVY6RXd8dnYQojQ4jVB/O53v2PPnj3MmDEDgHXr1lFYWMiDDz7o8+B6IqeiYKm1EROl93v/5mUrAAAetElEQVQSdo9kkgQhhKAdCWLr1q3k5uai1bp2nTx5MjNmzJAE4SOV1VYcTsXvzUtwaiRThQx1FULQzqU2Tv8lK01LvlXauKZUdKT/553EGuTe1EKIU7zWIMaOHcttt93G9OnTAVcT09ixY30eWE9lLnfdya87ahBNtx6tkpFMQgjakSAWLVrE3//+dz744AMArrnmGmbPnu3zwHoqc2MNwtgtNYjGJiapQQghaEeCUKvV3HDDDdxwww3+iKfHK22sQUQb/FuD+PCro9RbXTO4Dxyt5MOvjlJbb6OwxMLg/nGo/XRnOyFE4Gg1Qbz++uvMmTOHZ555xmO/g3RS+0ZpeR1ajcrvQ1wBwnRq1Cqoa7DjdCps+fIoJ6oaiI0KI7m3we/xCCG6V6sJIizM1WFpMMgXg78oikJpeR3GSP8PcQXXAITwMC11DXa+3n+cE1Wu0UzVdTa/xyKE6H6tJoif/OQngGtY68CBA5s9d+DAAd9G1UNV1lhpsDlI7BXRbTFEhGk5WVnProMn0ahVOJwKNZIghOiRvA5zfeCBB9q1TXReaTeOYGoSEaZFafz7sqGulXybFg8UQvQsrdYgTp48ycmTJ2loaODAgQMoiutrw2KxUFvbufs/C8/MJxtHMPl5kb7TRYa5PhJDB8ZzTqKRTwqKpYlJiB6q1QTx7rvv8vrrr1NaWsptt93m3m40Gpk3b55fgutpSiu6vwYx5Jw4oiN1DB7gGrkUEa6VJiYheqhWE8ScOXOYM2cOL730Enfeeac/Y+qxmibJRXdjgog26Blybi/3Y0O4juOVdTidigx1FaKH8doHkZGRQUODazTLxx9/zJo1a6isrPR5YD1RaXkteq2aiDD/D3FtjSFCi6JAbYP0QwjR03hNEPfeey9qtZqioiIeffRRioqK+OUvf9muk+fn55ORkUF6ejpr1qxp8bzVauXee+8lPT2dWbNmceTIEfdze/fuZfbs2WRmZjJt2jR3kgpViqJgLq+jT1xEQK13FRXu6g+pqZdmJiF6Gq8JQq1Wo9Pp+Oijj7j++ut5/PHHKS4u9npih8PB0qVLeeWVV8jLy+O9995j//79zfZZu3Yt0dHRfPDBB9x8880sW7YMALvdzqJFi3jsscfIy8vjz3/+s3s12VBVVWujwerAFBfZ3aE0Y4hwve41dVKDEKKn8ZogGhoaOH78OFu2bGHMmDEA7hFNbSkoKGDAgAGkpKSg1+vJzMxk06ZNzfbZvHmzexHAjIwMtm3bhqIofPLJJ1xwwQUMHjwYgLi4ODSawGl28YWmVVz7xHXfHAhPDBGNNQjpqBaix/H6s3zOnDlMmjSJyy67jGHDhlFUVITRaPR6YrPZTGJiovuxyWSioKCgxT5JSUmuQLRajEYj5eXl/PDDD6hUKm699VZOnjzJlClTmo2k8iQuLhKttnNJJCHBe7l85esfygEY2D+OduTfNhmjuu5mP31cyzNhdSjNzuuP16o734+uEgplAClHIPFnGbwmiNmzZzdbvTU5OZmcnByfBuVwOPjiiy94++23iYiI4Oabb2bo0KFcdtllrR5TXt65uRkJCUbKyiydOkdn7D98EoBIrZqSTpTFGBWOpbq+q8JCpTgBKK+qb3ZeX79W3f1+dIVQKANIOQKJL8rQVsLx2sRUV1fHihUruP/++wEoLCwkPz/f60VNJhMlJSXux2azGZPJ1GKfpv4Mu92OxWIhLi6OxMRELrnkEnr16kVERATjxo1j9+7dXq8ZzJqGuJp6BVYfhE6rRq9TSye1ED2Q1wTxm9/8Brvdzt69ewFITEzkhRde8HriYcOGUVhYSFFREVarlby8PNLS0prtk5aWRm5uLgAbNmxgzJgxqFQqxo4dy759+6irq8Nut7Njxw4GDRp0NuULGqUna9Hr1MRGdd8ciNYYwnXU1Nna1fckhAgdXhPEd999xwMPPIBO5+qsNBgMOJ1OryfWarUsWbKEefPmMWXKFCZPnkxqaiorV650d1ZnZ2dTUVFBeno6OTk57jWeYmJiuPnmm8nOzua6665jyJAhXHXVVZ0oZmBzD3GNjQyoIa5NDBE67A6FBpv3910IETq89kHo9c1/0TY0NLT7l+T48eMZP358s20LFixw/x0WFsbzzz/v8disrCyysrLadZ1g17SKqynARjA1iQpvHOpab+uW+1QIIbqH1wQxatQoXnrpJaxWK9u3bycnJ6dFU5HonKZF+vp04zLfbTl9qGt8dNeNkBJCBDavTUz33XcfiqJgMBh49tlnGT58OHfffbc/Yusxmpb5DrRJck1OJQiZLCdET+K1BqHT6bjrrru46667/BFPj+QewRSgTUyG05qYhBA9h9cE8bvf/c7jdrknddcxN857CLQhrk2iGmsQcl8IIXoWr01MkZGR7n8ajYaPP/6Y8vJyf8TWY5hP1hGm1xBjCLwhrgDheg1qtUruLCdED+O1BjF//vxmj++4445mI5FE5yiKQmlFLYlxgTnEFUClUmGQGwcJ0eN4rUGcyWAwcOzYMV/E0iNVVFux2pz0CdDmpSaGCB31Vgd2h8yFEKKn6FAfhKIo7Nq1i4EDB/o0qJ6kaYhroHZQN2nqqK6ttxMdoE1hQoiu5TVBREae+mWr0Wi4/vrrSU9P92lQPYm7gzpAh7g2Ob2jWhKEED1Dh/sgRNdqGuIaaPeBOFOcMQyAkhO1JPc2dHM0Qgh/aLMP4n//+x833XQTo0ePZvTo0dx555189913gOt2oaLz3E1MAd4HkdzbgFajorDEIov2CdFDtJog1q9fz4MPPsiUKVP405/+xJ/+9CfGjRvHggUL2Lt3r0yc6yKl5XWE6zVER+q6O5Q2aTVq+vWJorrOxsmq0L4/uBDCpdUmptWrV/Pqq6+Smprq3nbhhRcyatQoZs2axdSpU/0SYChzKgqlFXUkxxsCdojr6c5JNFJYbKGwJLhvuiKEaJ9WaxANDQ3NkkOT888/nz59+rB06VKfBtYTlFc1YLM7MQXoIn1n6tvYzHRImpmE6BFaTRA2mw2breXEKKvViqIoaDSy7HNnlTaOYOoT4COYmmg0alIam5mkFiFE6Gs1QUyYMIFf/vKXWCynvgiqqqpYvHgxEyZM8EtwoS7QF+nz5JykaAB27Cnt5kiEEL7WaoJYuHAh4eHhjB8/nunTpzN9+nSuuuoqwsPD3fenFp1z0lIPQO+Y4LnHQnJ8JDqtmh17zdLMJESIa7WTWq/X8+STTzJ//nz27duHoiicf/759O3b15/xhbTKatdQ4ZiosG6OpP2ampkOHqvi+yOVnJ8S290hCSF8xOtEueTkZJKTk/0RS49TWdOYIIJsZvLAvtEcPFbF6n/vZvFPLyYhNniayIQQ7dfhxfo6Ij8/n4yMDNLT01mzZk2L561WK/feey/p6enMmjWLI0eONHv+2LFjjBw5kldffdWXYXabymorep066O7znBRv4P+uHkS5pYFn39xJuUXmRQgRinyWIBwOB0uXLuWVV14hLy+P9957j/379zfbZ+3atURHR/PBBx9w8803s2zZsmbPP/3001x55ZW+CrHbVdY0EGPQB8UciDNNGt2frLHncryynmV/34mlVmbWCxFqfJYgCgoKGDBgACkpKej1ejIzM9m0aVOzfTZv3sz06dMByMjIYNu2be6Oz40bN9K3b1+PczFCgVNRqKqxEWMInv6HM117xTlMvCSF4hO1fLjzaHeHI4ToYl77IM6W2WwmMTHR/dhkMlFQUNBin6SkJFcgWi1Go5Hy8nLCwsJ4+eWXee2113jttdfadb24uEi02s411SQkGDt1fEdUVjfgVBQSekW2uK4xqnOjmjp7fHs0xTw7YzD/3VFEWVVDl79+/nw/fCUUygBSjkDizzL4LEF0xgsvvMCcOXMwGNq/amh546Szs5WQYKSszH+Tv46UVgMQrlO3uK6luv6sz2uMCu/U8e3ljllRCNNpKDxW2aWvn7/fD18IhTKAlCOQ+KIMbSUcnyUIk8lESUmJ+7HZbMZkMrXYp7i4mMTEROx2OxaLhbi4OL7++ms2bNjAsmXLqKqqQq1WExYWxo033uircP0uWEcwnUmlUpEYH8nRshqcTgW1Ovj6U4QQnvksQQwbNozCwkKKioowmUzk5eXx3HPPNdsnLS2N3NxcRo4cyYYNGxgzZgwqlYq//e1v7n1WrVpFZGRkSCUHgIpq18ifYE8Q4Jo8d6jEQlllXcDf+EgI0X4+66TWarUsWbKEefPmMWXKFCZPnkxqaiorV650d1ZnZ2dTUVFBeno6OTk5PPDAA74KJ+BU1QTfJLnWJMW7mgKLj3eumU8IEVh82gcxfvx4xo8f32zbggUL3H+HhYXx/PPPt3mOu+++2yexdbdQaWKC0xLEiRpGpPbu5miEEF3FpxPlROtCKUEk93Y1Kx07UdPNkQghupIkiG5S2dgHER0CCSIhNgKNWkXxCWliEiKUSILoJpU1VqIidGg1wf8WaDVq+sRFUHyiRlZ4FSKEBP+3U5CqqrGGRPNSk+TeBuoaHFRUy5IbQoSKgJwoF+psdgc19XaMBj0ffhUaS1S4OqrLKD5RQ5wx+EdmCSGkBtEtmjqoI8NCJz8nx7s6qqUfQojQIQmiGzQliGBb5rstTUNdZSSTEKEjdH7CBpGqxnb6iCCuQZzZNGZ3OAEoPi4JQohQITWIbtBUgwjmBHEmrUZNVIROmpiECCGSILrBqQQROk1M4Jr0V1ljpbbe1t2hCCG6gCSIbuBOEPrQqUEAxES5hu0ek1qEECFBEkQ3aJpFHUpNTHBq2ZBj0g8hREgIrW+oIFFZY0WjVqHXhVZ+jm2c//Dn9d+xbVcJI1J7M35EMuEhVlMSoqcIrW+oIFFZbSUmSo9KFVo31+kdE87stEGcm2RkX1EFb23ez1827OvusIQQZ0kShJ8pikJliC2z0USlUpFxaX8e+tkofn/3WPrERvDFvlIabI7uDk0IcRYkQfhZXYMdu8NJjCG0l6OIMei5dEgfrDYn3xw40d3hCCHOgiQIP2sawRQKy3x7c8lg1z3IP9tb2s2RCCHOhiQIP2ta7TQUm5jO1C/BQGKvSAr2H6fBKs1MQgQbSRB+VlnjGuIaGxX6CUKlUnHJ4D5Y7U6+PnC8u8MRQnSQTxNEfn4+GRkZpKens2bNmhbPW61W7r33XtLT05k1axZHjhwB4JNPPmHGjBlMmzaNGTNmsG3bNl+G6VdN6zBFh3gfRJNLLuwDwA5pZhIi6PhsgLrD4WDp0qXk5ORgMpnIzs4mLS2NQYMGufdZu3Yt0dHRfPDBB+Tl5bFs2TJWrFhBXFwcL774IiaTiX379nHrrbfy8ccf+ypUvzpeWQ+4ahCWutC7uc6Zi/gpikJSfCQFB05Qb7XLnAghgojPahAFBQUMGDCAlJQU9Ho9mZmZbNq0qdk+mzdvZvr06QBkZGSwbds2FEVhyJAhmEyuDs7U1FQaGhqwWkPjy3R34Un0OjX9TVHdHYpfNDUz2exOvt4vo5mECCY++zlnNptJTEx0PzaZTBQUFLTYJykpyRWIVovRaKS8vJxevXq599mwYQNDhgxBr2+7zT4uLhKttnOL3yUkGDt1vDclJ2ooPlHL6B8lkpwUi7GwwifXMUaF++S8Z+vSYcn8+5NCvvj+OFPHD/J+QCNfvx/+EAplAClHIPFnGQK6vv/999+zbNkyXnvtNa/7lpd3boG4hAQjZWWWTp3Dmy2fFwFwQb8YysosWKrru/waxqhwn5y3MyI1Ks5LjuaLPWZ27zPTJy7S6zH+eD98LRTKAFKOQOKLMrSVcHzWxGQymSgpKXE/NpvN7maj0/cpLi4GwG63Y7FYiIuLA6CkpIT58+fzzDPP0L9/f1+F6VcFjRPGhg+M7+ZI/O+aUf1QgI1fHOnuUIQQ7eSzBDFs2DAKCwspKirCarWSl5dHWlpas33S0tLIzc0FXE1JY8aMQaVSUVVVxe23387999/Pj3/8Y1+F6FcNVgd7D1fQLyGKXtGB1QTkD6Mu6ENslJ6tBcXUNdi7OxwhRDv4LEFotVqWLFnCvHnzmDJlCpMnTyY1NZWVK1e6O6uzs7OpqKggPT2dnJwcHnjgAQD++te/cvjwYf7whz+QlZVFVlYWJ04Edwfnt4dOYnc4uWhQz6s9gOuOc2kX96Pe6mBrQXF3hyOEaAeVoihKdwfRFTrbLufr9snX1+/lo6+O8asbLya1XyzQckhoVwjEPoirRvQFwFJr5YE/fkpcVBhP3j4Gtbr11WylvThwSDkCR8j0QYhTFEWh4MAJDOFaBibHdHc43cYYqeeyH5korajjsz1mauptWG0OQuQ3ihAhJ6BHMYWKI2U1lFsaGDPE1Oav5lB1ek0pJso1g3zNu9+6t100MJ4Fsy7ye1xCiLZJgvCDgsZ1iHri6KUzxRnDuGRwH8oq6ogzhnHYXM3XB05w2Gyhvyn4x6gLEUqkickPdv9wEhXwo3N7ed23J7jwnDjGjUjm7pnD+Wn6+QBs2dn1/TFCiM6RGoSPWW0O9h+tJMUUhTEy9Fdw7ajhA+OJjw7jf7vNzLpqEJHhWj786qjHzvamzm4hhH9IDcLH9h+txO5QuHBAXHeHEpDUahVXjexLg83Btt0l3g8QQviN1CB8bM+hcgBsDqdPhrWGgiuHJ7Pu4x/Y/OUR0i6WWoIQgUIShI/tOVSOSgWmdqw/1NOcnjBTTFEUFlt4a8t+EnvJayVEIJAmJh+qrbfzQ3EVvWPC0WnlpW7LBf1dkwd3H3TNOBdCdD/51vKhfUcqUBRIjDd0dygBr09sBL1jwjl6vIbc/B/YdeA4DqdMoBOiO0mC8KE9ha7+hyRpMvFKpVIxYVQ/hp7XC5vdwUc7j7Iu/yB7D5VLjUKIbiIJwof2HCpHp1WTENvzVm89G2E6DRefn8D0cecxfFBv6q0OPttTyjsfHeTbH07KkhxC+JkkCB+pqrVypKya1H4xaDTyMndERJiWK0f0Zcb48xh2Xi8cToXPvyvjX1t/6O7QhOhR5JvLR7477LqdqMx/OHsRYVpGnp/AdVeeS1SEjn9/UigzroXwI0kQPlKw37X+0mBJEJ0WEablmlH9MEbq+Ot/v+OzPWZZBVYIP5B5ED6w91A5n+4qwdQrknMSjRSVVnd3SEEv2qDn3lkX8bu/7eSlf+0GQKNWER8Tzo0Tz2foubIQohBdTWoQXay23s6red+iUqm4beoQNGp5ibvKuUnRLJx9EZde2IcfnduLAYlGTlbVs/ytr/n31h9wSo1CiC4lNYgu9ubGfZyoauDaK87hvOTo7g4npDTNvD692e54ZSzbd5eybusPfH+0kswxAzg/JbZH3ndDiK4mCaILvb5+L5/sKiE+Opxog17WXvKD3jERPDr3El5+91u+OXiC3T+cJNqgZ8Sg3sQZwwjTaYgM1/Kjc3oRHyPDjYXoCEkQXeS7w+V88k0xGrWKscMT5ResH33+XSkjUuMx9YrgUImFw+Zq8r8+1mwfFa77UFwxLInkeANheg3heg3GSJ00AwrRCp8miPz8fJ544gmcTiezZs3i9ttvb/a81WrlwQcfZPfu3cTGxrJ8+XL69esHwOrVq3n77bdRq9U8/PDDXHnllb4MtVP2FVWwYm0BTqfCVSP7um+rKfxHpVKR3NtAcm8Do4colFsasNod2B0KtfU2Dh6z8G1hOd82zm4/dRzERoURHx2OqVcEfXtH0a+PgehIPRqNGq1GRbheiyFci1bms4gexmcJwuFwsHTpUnJycjCZTGRnZ5OWlsagQYPc+6xdu5bo6Gg++OAD8vLyWLZsGStWrGD//v3k5eWRl5eH2Wxm7ty5bNiwAY1G45NYrTYHldUNVNVaQQEFwEOHp9K4WVEU6q0OauptlFXU8Zf/7sPucDJuRDL9+kT5JEbRfurG0U2nu6B/HFU1Vg6VWKi3OrA5nNjsTuoa7NTU2Th4rIr9RyvbPK9eq0av06DVqIgzhhPeWAsJ12sI02vRa9XotGq0GjWKohARoaeuzooxUk+0QU9UuBa1WoVarUKlUuFwOLE7FRwOBZXKFbdapUKFK3GpVK59NU3bGyuligIKCk4nOJ0KKjVo1a5kptGoXedq3N/1X1XjcYr786vQ+DkH1Kftp268uApA5ap56asbqK6zdd0b1AVOH+KsNP6PpyEKp5cjrMYacOXwpK2yacPrqayxusvV9B9DuM4nrRY+SxAFBQUMGDCAlJQUADIzM9m0aVOzBLF582bmz58PQEZGBkuXLkVRFDZt2kRmZiZ6vZ6UlBQGDBhAQUEBI0eO7PI4q2qs/HL1NhqsjrM+h1ql4s6sH1FdH/gfvp4s2qBnWCv3BXc6FSy1NiqqGyi3NGCzO3E4FZyKgs3upMHqoN5qx2p3UtvgoKrWglMWExQB4sIBcSy6vuu/H32WIMxmM4mJie7HJpOJgoKCFvskJSW5AtFqMRqNlJeXYzabueiii5odazab27xeQsLZ3fA+IQHefmrqWR0rhBChTBpVhRBCeOSzBGEymSgpOXWPYbPZjMlkarFPcXExAHa7HYvFQlxcXLuOFUII4Vs+SxDDhg2jsLCQoqIirFYreXl5pKWlNdsnLS2N3NxcADZs2MCYMWNQqVSkpaWRl5eH1WqlqKiIwsJChg8f7qtQhRBCeOCzPgitVsuSJUuYN28eDoeDmTNnkpqaysqVKxk6dCgTJkwgOzubRYsWkZ6eTkxMDMuXLwcgNTWVyZMnM2XKFDQaDUuWLPHZCCYhhBCeqRRZElMIIYQH0kkthBDCI0kQQgghPJIEgWtJkIyMDNLT01mzZk13h9Nuv/rVr7jsssuYOvXUPI6Kigrmzp3LxIkTmTt3LpWVbc8O7m7FxcXcdNNNTJkyhczMTF5//XUg+MrR0NBAdnY21157LZmZmTz//PMAFBUVMWvWLNLT07n33nuxWq3dHKl3DoeD6667jjvuuAMIzjKkpaUxbdo0srKymDFjBhB8nymAqqoq7rnnHiZNmsTkyZPZuXOnf8uh9HB2u12ZMGGCcvjwYaWhoUGZNm2a8v3333d3WO3y2WefKbt27VIyMzPd25555hll9erViqIoyurVq5Xf/e533RVeu5jNZmXXrl2KoiiKxWJRJk6cqHz//fdBVw6n06lUV1criqIoVqtVyc7OVnbu3Kncc889ynvvvacoiqI88sgjyhtvvNGdYbbLa6+9pixcuFC5/fbbFUVRgrIMV199tXLixIlm24LtM6UoivLggw8q//jHPxRFUZSGhgalsrLSr+Xo8TWI05cE0ev17iVBgsEll1xCTExMs22bNm3iuuuuA+C6665j48aN3RFau/Xp04cf/ehHAERFRXHeeedhNpuDrhwqlQqDwQC45vTY7XZUKhX/+9//yMjIAGD69OkB/9kqKSnhww8/JDs7G3CtCxRsZWhNsH2mLBYLO3bscL8Xer2e6Ohov5ajxycIT0uCeFvWI5CdOHGCPn36AJCQkMCJEye6OaL2O3LkCHv27OGiiy4KynI4HA6ysrK4/PLLufzyy0lJSSE6Ohqt1jWaPDExMeA/W08++SSLFi1C3bgEenl5edCVocmtt97KjBkzeOutt4Dg+//GkSNH6NWrF7/61a+47rrreOihh6itrfVrOXp8gghlqtNW8gx0NTU13HPPPfz6178mKqr5irjBUg6NRsO//vUvPvroIwoKCjh48GB3h9QhW7ZsoVevXgwdOrS7Q+m0N998k9zcXF5++WXeeOMNduzY0ez5YPhM2e12vv32W66//nrWrVtHREREiz5SX5ejxyeIUFvWIz4+ntLSUgBKS0vp1atXN0fknc1m45577mHatGlMnDgRCM5yNImOjmb06NF89dVXVFVVYbfbAVfzTSB/tr788ks2b95MWloaCxcu5H//+x9PPPFEUJWhSVOM8fHxpKenU1BQEHSfqcTERBITE90Ll06aNIlvv/3Wr+Xo8QmiPUuCBJO0tDTWrVsHwLp165gwYUI3R9Q2RVF46KGHOO+885g7d657e7CV4+TJk1RVVQFQX1/Pp59+ysCBAxk9ejQbNmwAIDc3N6A/W/fffz/5+fls3ryZ3//+94wZM4bnnnsuqMoAUFtbS3V1tfvvTz75hNTU1KD7TCUkJJCYmOiuiW7bto2BAwf6tRwykxr46KOPePLJJ91Lgtx1113dHVK7LFy4kM8++4zy8nLi4+O5++67ueaaa7j33nspLi4mOTmZFStWEBsb292hturzzz/npz/9Keeff7673XvhwoUMHz48qMqxd+9eFi9ejMPhQFEUJk2axPz58ykqKuK+++6jsrKSCy+8kGXLlqHX67s7XK+2b9/Oa6+9xurVq4OuDEVFRfziF78AXP1CU6dO5a677qK8vDyoPlMAe/bs4aGHHsJms5GSksJTTz2F0+n0WzkkQQghhPCoxzcxCSGE8EwShBBCCI8kQQghhPBIEoQQQgiPJEEIIYTwSBKEEEIIjyRBCCGE8Oj/AbVZ2H8gWV11AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns\n",
    "sns.set(color_codes=True)\n",
    "ax = sns.distplot(ques_len)\n",
    "ax.set_title('Distribution of Question Length')\n",
    "ax.set_ylabel('Question Length')\n",
    "plt.savefig('question_length.png')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('Min:   ', 1)\n",
      "('Max:   ', 60)\n",
      "('Mean:   ', 11.290237008548988)\n",
      "('25th percentile:   ', 9.0)\n",
      "('Median:            ', 11.0)\n",
      "('75th percentile:   ', 13.0)\n",
      "('95th percentile:   ', 18.0)\n",
      "('99th percentile:   ', 23.0)\n"
     ]
    }
   ],
   "source": [
    "ques_array = np.array(ques_len)\n",
    "\n",
    "print(\"Min:   \", np.min(ques_array))\n",
    "print(\"Max:   \", np.max(ques_array))\n",
    "print(\"Mean:   \", np.mean(ques_array))\n",
    "print(\"25th percentile:   \", np.percentile(ques_array, 25))\n",
    "print(\"Median:            \", np.median(ques_array))\n",
    "print(\"75th percentile:   \", np.percentile(ques_array, 75))\n",
    "print(\"95th percentile:   \", np.percentile(ques_array, 95))\n",
    "print(\"99th percentile:   \", np.percentile(ques_array, 99))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Train Answer Length"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "86326\n"
     ]
    }
   ],
   "source": [
    "train_ans = 'data/train.answer'\n",
    "\n",
    "ans_len = []\n",
    "\n",
    "with open(train_ans) as fp:  \n",
    "    lines = fp.readlines()\n",
    "    print(len(lines))\n",
    "    for line in lines:\n",
    "        words = len(line.split())\n",
    "        ans_len.append(words)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "86326\n",
      "[1, 1, 3, 1, 3, 2, 9, 3, 1, 2]\n"
     ]
    }
   ],
   "source": [
    "print(len(ans_len))\n",
    "print(ans_len[:10])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(ans_len)\n",
    "plt.ylabel('Answer Length')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('Min:   ', 1)\n",
      "('Max:   ', 46)\n",
      "('Mean:   ', 3.382851052985196)\n",
      "('25th percentile:   ', 1.0)\n",
      "('Median:            ', 2.0)\n",
      "('75th percentile:   ', 4.0)\n",
      "('95th percentile:   ', 11.0)\n",
      "('99th percentile:   ', 21.0)\n"
     ]
    }
   ],
   "source": [
    "ans_array = np.array(ans_len)\n",
    "\n",
    "print(\"Min:   \", np.min(ans_array))\n",
    "print(\"Max:   \", np.max(ans_array))\n",
    "print(\"Mean:   \", np.mean(ans_array))\n",
    "print(\"25th percentile:   \", np.percentile(ans_array, 25))\n",
    "print(\"Median:            \", np.median(ans_array))\n",
    "print(\"75th percentile:   \", np.percentile(ans_array, 75))\n",
    "print(\"95th percentile:   \", np.percentile(ans_array, 95))\n",
    "print(\"99th percentile:   \", np.percentile(ans_array, 99))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEICAYAAABF82P+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvFvnyVgAAIABJREFUeJzt3Xl8VNXZwPHfnS37RgwTlpAqBKQmLBVZRIkEQ8SwE97Woq+lRaoVC9XiS2uNNbby0WIRbBGpmtq61IKExbhUIxAsqLjQQF0QNBCWDCEJ2ZPJ3LnvH0OGDEyYBGayzDzfj3zM3Ln33OdeyDxzzrnnHEXTNA0hhBDiHLquDkAIIUT3JAlCCCGEW5IghBBCuCUJQgghhFuSIIQQQrglCUIIIYRbkiBEu2RnZ/PnP//ZK2UdP36ckSNHoqoqALfddhvr16/3StkACxYsIC8vz2vltdfKlSsZM2YM48eP7/RzB5K0tDR27drV1WEEBEkQgrS0NIYNG8bIkSMZNWoUP/jBD3jllVew2+3OfXJycrj77rvbVZanX96+ffvy2WefodfrLzn2p556il/+8pcu25599llmzZp1yWV3xPHjx8nNzeWNN97g3//+d5v7lZSUcOWVV/LQQw91YnTe0RUfzMuWLWPlypWdek5xliQIAcDatWv57LPP2LZtG3fccQd/+ctfeOCBB7x+HpvN5vUyu4Pjx48THR1NbGzsBffbvHkzUVFRvPnmm1it1k6KrmM0TXP5ciAClyQI4SIiIoJJkybx5JNPkpeXx4EDBwDXb3IVFRX89Kc/ZdSoUYwePZof/vCH2O12li5dyvHjx7nzzjsZOXIkf/nLXzh69ChDhgxh/fr13HDDDdx+++3Oba2TxZEjR8jKyuJ73/sed911F6dPnwbgww8/ZMKECS4xtnyTLSws5JlnnuHNN99k5MiRTJ8+HXBtsrLb7axZs4aJEycybtw47r//fmpqagCcceTl5XHDDTcwZswYnn766TbvTU1NDffffz9jx45l4sSJrFmzBrvdzq5du/jxj3/MyZMnGTlyJMuWLXN7vKZpbNq0icWLF2MwGHjvvfdc3h8yZAivvPIKkydPZtSoUTz88MO0THRw+PBhbr31Vq6++mrGjBnDkiVLAFi9ejWPPPIIAM3NzYwYMYLHHnsMgMbGRlJSUpz3cu/evfzgBz9g1KhRTJ8+nQ8//NB57ttuu42VK1fygx/8gOHDh1NSUtLmfXBn27ZtzJgxw1kD/fLLL53vpaWl8dxzzzFt2jSuvvpqlixZQlNTk/P9v/zlL1x33XVcd911rF+/niFDhnD48GFeffVVtm7dynPPPcfIkSO58847ncd88cUXbZYnvEgTAW/ixInav//97/O2p6amai+99JKmaZr2f//3f9of//hHTdM0bcWKFdqDDz6oWa1WzWq1anv27NHsdrvbskpKSrTBgwdrS5cu1erq6rSGhgbntubmZk3TNO3WW2/VrrvuOu2rr77S6urqtEWLFmn33Xefpmma9sEHH2jXX399m/GuXr3auW+LW2+9VfvnP/+paZqmrV+/Xrvxxhu1I0eOaLW1tdrdd9+t/fKXv3SJ7YEHHtAaGhq0L774Qrvqqqu0gwcPur1PS5cu1e68806tpqZGKykp0SZPnuw8j7s4z7Vnzx7tqquu0k6fPq3l5ORoP/3pT13eHzx4sLZw4UKtqqpKO3bsmDZmzBhtx44dmqZp2i9+8QttzZo1mqqqWmNjo7Znzx5N0zRt165d2tSpUzVN07RPPvlEmzRpkpaVleV8b9q0aZqmaVppaak2evRobfv27Zqqqtr777+vjR49WisvL3fes9TUVO3AgQNac3OzZrVaz4u/rX8n//3vf7WxY8dqe/fu1Ww2m7Zx40Zt4sSJWlNTk/O4OXPmaKWlpVplZaV20003aS+//LKmaZq2Y8cO7dprr9UOHDig1dfXa/fdd582ePBgrbi4WNM01393reNoqzzhXVKDEG3q3bs3VVVV5203GAyUlZVx/PhxjEYjo0aNQlGUC5Z1zz33EBoaSnBwsNv3Z8yYweDBgwkNDWXx4sW89dZbzk7sS7F161Z+9KMfkZCQQFhYGPfeey9vvPGGS+1l0aJFBAcHc+WVV3LllVe6fPttoaoqb7zxBvfddx/h4eH079+f+fPns2XLlnbHkpeXx4QJE4iKimLq1Kns3LmT8vJyl33uuOMOIiMj6du3L2PGjHHGYjAYOH78OCdPniQoKIhRo0YBMHLkSIqLi6msrOTjjz8mKysLi8VCXV0de/bsYfTo0YCjaWvChAmkpqai0+kYP348ycnJ7Nixw3nuWbNmkZSUhMFgwGg0tvu6Xn31Vb7//e8zfPhw9Ho9s2bNwmg0snfvXuc+t912G2azmejoaCZOnMgXX3wBwJtvvsns2bNJSkoiJCSEe+65p13nbKs84V2SIESbLBYLUVFR523/yU9+QmJiIj/+8Y+ZNGkS69at81hWfHz8Bd/v06eP8+e+ffvS3NxMZWVlx4M+x8mTJ+nXr5/zdb9+/bDZbC4fzJdddpnz55CQEOrr688rp7KykubmZvr27esSp8ViaVccjY2NvPXWW0ybNg1wfLD36dOHrVu3uuwXFxfnEktdXR0AS5cuRdM0srKyyMzMZMOGDQAEBweTnJzMnj172LNnD9dccw0jR47k008/db4GRx/JW2+9xahRo5x/PvnkE8rKypzna/130BEtHfStyy4tLeXkyZNtXlfLPT558qTLv432xtBWecK7DF0dgOieioqKsFgsXH311ee9Fx4ezrJly1i2bBkHDhzg9ttvJyUlhXHjxrVZnqcaxokTJ1x+NhqNxMTEEBISQmNjo/M9VVWpqKhod7m9e/fm2LFjztfHjx/HYDAQGxtLaWnpBY9tLSYmBqPRyPHjxxk0aJAzTrPZ3K7j33nnHWpra3n44Yf53e9+B0B1dTWbNm3iRz/6kcfj4+LinMd9/PHHzJ8/n2uuuYbExERGjx7NBx98wBdffEFKSgqjR4/m/fffp6ioyJkg+vTpw4wZM5xluOPpXralT58+3Hnnndx1110dPrZ3794uSbb1v4NLiUl4h9QghIva2lq2bdvGvffey/Tp0xkyZMh5+2zbto3Dhw+jaRoRERHo9XrnL/Jll13W4Q5OgC1btnDw4EEaGhpYtWoVGRkZ6PV6Lr/8cpqamti+fTvNzc08/fTTLk//xMbGcuzYsTafupk6dSovvPACJSUl1NXVsXLlSqZMmYLB0LHvRnq9nptuuomVK1dSW1vLsWPHyM3NdXaMe7Jp0ybmzJnD1q1b2bRpE5s2beKVV17hyy+/5KuvvvJ4/JtvvulMaFFRUSiKgk7n+PW95ppr2LRpEwMHDsRkMjF69GjWr19P//796dWrFwDTp09n27Zt7Ny5E1VVaWpq4sMPP+xQkgRHR3hTU5Pzj81mY+7cufzjH//gP//5D5qmUV9fz/bt26mtrfVY3k033cTGjRs5dOgQDQ0NrFmzxuX92NhYjh492qEYhfdIghAAziePUlNTWbt2LfPnz2f58uVu9z18+DDz589n5MiRfP/73+eWW25h7NixACxcuJCnn36aUaNG8dxzz7X7/DNmzGDZsmWMHz8eq9XqfMQ2IiKChx56iN/85jdMmDCBkJAQlyaJm266CYAxY8a4HfswZ84cpk+fzq233sqkSZMwmUw8+OCD7Y6rtQcffJCQkBBuvPFGfvjDHzJ16lTmzJnj8TiLxcLu3bu5/fbbiYuLc/5JTk7m+uuvZ9OmTR7L2LdvH3PnzmXkyJHcddddPPDAAyQkJACO5qqmpiZnbWHQoEEu/RTg+Ja/Zs0annnmGcaNG0dqairPPfdchx9nXbhwIcOGDXP+eeqpp0hJSeGRRx4hJyeHa665hsmTJ7Nx48Z2lZeamsptt93G//7v/5Kens7w4cMBMJlMAGRlZXHw4EFGjRrFz372sw7FKi6dommyYJAQons4dOgQU6dOZd++fR2u5QnvkxqEEKJLvfPOO1itVqqqqvjDH/7AxIkTJTl0E5IghBBd6h//+Afjxo0jPT0dvV7Pb3/7264OSZwhTUxCCCHckhqEEEIIt/ymoa+srOaSy4iJCaWyMnAH3Mj1B/b1g9yDQLz+uLiINt+TGkQrBsOlTz/dk8n1B/b1g9yDQL/+c0mCEEII4ZYkCCGEEG5JghBCCOGWJAghhBBuSYIQQgjhliQIIYQQbkmCEEII4ZYkCCGEEG5JghBCCOGW30y14Uvb9x5zu/2GEf3cbhdCCH8gNQghhBBuSYIQQgjhlk8TRGFhIRkZGaSnp7Nu3brz3n/llVeYNm0aM2bM4JZbbuHgwYMAHD16lGHDhjFjxgxmzJhBdna2L8MUQgjhhs/6IFRVJScnh9zcXMxmM1lZWaSlpTFo0CDnPtOmTeOWW24BoKCggOXLlzsXuh8wYACbN2/2VXhCCCE88FkNoqioiMTERBISEjCZTGRmZlJQUOCyT3h4uPPnhoYGFEXxVThCCCE6yGc1CIvFQnx8vPO12WymqKjovP1eeuklcnNzaW5u5oUXXnBuP3r0KDNnziQ8PJwlS5YwatQoX4UqhBDCjS5/zHXevHnMmzePrVu38vTTT/PYY4/Ru3dvtm3bRkxMDPv37+fuu+8mPz/fpcZxrpiYUK8s9uFudaWI8OB279vT+eM1dUSgXz/IPQj062/NZwnCbDZTWlrqfG2xWDCbzW3un5mZyW9/+1sATCYTJpMJgOTkZAYMGMC3335LSkpKm8d7Y5nAuLgIt0uX1tQ2ut3fG8ucdidtXX+gCPTrB7kHgXj9XbLkaEpKCsXFxZSUlGC1WsnPzyctLc1ln+LiYufP27dvJzExEYCKigpUVQWgpKSE4uJiEhISfBWqEEIIN3xWgzAYDGRnZ7NgwQJUVWXOnDkkJSWxatUqkpOTmTRpEi+++CK7d+/GYDAQGRnJY489BsCePXtYvXo1BoMBnU7Hww8/THR0tK9CFUII4YaiaZrW1UF4gzeqhW1VLwNlqo1ArF63FujXD3IPAvH6u6SJSQghRM8mCUIIIYRbkiCEEEK4JQlCCCGEW5IghBBCuCUJQgghhFuSIIQQQrglCUIIIYRbkiCEEEK4JQlCCCGEW5IghBBCuCUJQgghhFuSIIQQQrglCUIIIYRbkiCEEEK4JQlCCCGEW5IghBBCuCUJop32fn2Kb45Xd3UYQgjRaSRBtENNvZWiQ+Xs/6a8q0MRQohOIwmiHY6fqgOgtqEZP1nCWwghPPJpgigsLCQjI4P09HTWrVt33vuvvPIK06ZNY8aMGdxyyy0cPHjQ+d4zzzxDeno6GRkZ7Ny505dhenSszJEgbKpGU7O9S2MRQojOYvBVwaqqkpOTQ25uLmazmaysLNLS0hg0aJBzn2nTpnHLLbcAUFBQwPLly3nuuec4ePAg+fn55OfnY7FYmD9/Pm+//TZ6vd5X4bap2WantKLe+bq2oZlgU+fHIYQQnc1nNYiioiISExNJSEjAZDKRmZlJQUGByz7h4eHOnxsaGlAUBXAki8zMTEwmEwkJCSQmJlJUVOSrUC/o66OnsakaRr3jVtU2NHdJHEII0dl8VoOwWCzEx8c7X5vNZrcf8i+99BK5ubk0NzfzwgsvOI8dPny4y7EWi+WC54uJCcVguPRv9nFxES6vD31wBIAh34lh/6FymlWNiPBgt/v6A3+8po4I9OsHuQeBfv2t+SxBtNe8efOYN28eW7du5emnn+axxx67qHIqK+s97+RBXFwEZWU1Lts+2n8CvU5hQFwY+w+VU366gZraRoDz9u3p3F1/IAn06we5B4F4/RdKiD5rYjKbzZSWljpfWywWzGZzm/tnZmby7rvvXtSxvlJR3cixU3XEx4YSFR4ESBOTECJw+CxBpKSkUFxcTElJCVarlfz8fNLS0lz2KS4udv68fft2EhMTAUhLSyM/Px+r1UpJSQnFxcUMGzbMV6G2ad+ZcQ99LwvDaNARZNRLghBCBAyfNTEZDAays7NZsGABqqoyZ84ckpKSWLVqFcnJyUyaNIkXX3yR3bt3YzAYiIyMdDYvJSUlMWXKFG6++Wb0ej3Z2dld8gTT/m8qAOh3WRgA4SEGKmutaJrm7FAXQgh/pWh+MvLLG+2GrdsfVbudn6/aSUSIiZvGDgBgx2fHOGypJeuGgYQGG7hhRL9LPmd3Eojtr60F+vWD3INAvP4u6YPo6RqaVBqaVPr3PvsobnioEZB+CCFEYJAE0Qab6hgxbdCfbUoKD5EEIYQIHF3+mGt3ZbO1JIizOfTcBLF97zG3x/pb05MQIjBJDaINNruja+ZCCUIIIfyZJIg2uGtiCmtJEPWSIIQQ/k8SRBtU9fwahEGvIyRIxkIIIQKDJIg2tNQg9HrX8Q7hIUbqGpux2/3i6WAhhGiTJIg2tCQIo971FoWHGNE0qG+ydUVYQgjRaSRBtMF2polJ7yZBgPRDCCH8nySINrjrpAZ5kkkIETgkQbShpQZh0J1Tg5DR1EKIACEJog1SgxBCBDpJEG04myBcb1FYsBEFSRBCCP8nCaINqpuR1AA6nUJEqJHK6iZ51FUI4dckQbShrXEQAPGxoTSrdsqrGzs7LCGE6DSSINrgbrK+Fn1iHQsInSi/9HWwhRCiu5IE0QZ3k/W1MPcKBeDEqbpOjUkIITqTJIg2tPUUE0CwSU+vyCDKTjfSfKamIYQQ/sbjehDl5eX8/e9/p6SkBJvt7PQSq1at8mlgXc3mZrK+1vrEhlFR3cTJygb6xYV1ZmhCCNEpPCaIe+65h4EDBzJu3Dj0en1nxNQtXKiTGqBPbCj//baC0oo6SRBCCL/kMUFUV1fzyCOPXFThhYWF/P73v8dutzN37lwWLlzo8n5ubi7r169Hr9fTq1cvHn30Ufr1c6zGNnToUAYPHgxAnz59WLt27UXFcLHamqyvRe+YEHSKIh3VQgi/5TFBJCUlYbFYMJvNHSpYVVVycnLIzc3FbDaTlZVFWloagwYNcu4zdOhQXnvtNUJCQnj55Zf5wx/+wJNPPglAcHAwmzdv7uDleI/axmR9LQx6Hb1jQiitqKfRaiPYJKu3CiH8S5ufaj//+c9RFIXa2lqmT5/OyJEjCQoKcr7vqQ+iqKiIxMREEhISAMjMzKSgoMAlQYwdO9b584gRI9iyZctFX4i3XaiTukV8bCilFfWUVjTwnfiIzgpNCCE6RZsJYuLEic6fp06d2uGCLRYL8fHxztdms5mioqI299+wYQMTJkxwvm5qamL27NkYDAYWLlzIjTfeeMHzxcSEYjBceh9JXJzjg15vdJTVOy6Co+UNbvcd2D+avV+f4lRVIymD4s4royfqybF7Q6BfP8g9CPTrb63NBDFr1iwAdu/ezbhx41ze2717t1eD2Lx5M/v37+fFF190btu2bRtms5mSkhJuv/12Bg8ezIABA9oso7Ly0vsC4uIiKCurAaCuzgpAdVUDNbXuR0yHGHUYDTpKLDUu+7SU0dO0vv5AFOjXD3IPAvH6L5QQPY6DePzxx9u17Vxms5nS0lLn67b6MXbt2sXatWt5+umnMZlMLscDJCQkMHr0aD7//HOP5/Sm9jQx6XQKkaFG6htldTkhhP9pswZx+PBhiouLqa2tZceOHc7tNTU1NDS4b3JpLSUlheLiYkpKSjCbzeTn5/PEE0+47PP555+TnZ3Ns88+S2xsrHN7VVUVISEhmEwmKioq+PTTT1mwYMHFXN9Fc07Wp7twDjUZ9ah2DdVuR+9hXyGE6EnaTBCffvopGzdu5NSpUzz77LPO7eHh4SxbtsxzwQYD2dnZLFiwAFVVmTNnDklJSaxatYrk5GQmTZrE448/Tn19PYsXLwbOPs566NAhHnroIRRFQdM07rjjDpfO7c7QMkK6rXEQLUxn+iqszXZCgiRBCCH8xwX7IGbNmsXGjRuZPXv2RRWemppKamqqy7aWZADw17/+1e1x3/ve99i6detFndNb1JaBcjoPCcLgSArWZpWQIHnUVQjhPzx+osXGxro0MYGjFjF48GAiIvy3t99m1zDodShK+2sQQgjhTzwmiDVr1rBv3z6GDBkCwIEDBxgyZAgWi4Xf/e53Lo/D+hObar9gB3ULZw3Cpvo6JCGE6FQeG80HDBjAP//5T/Ly8sjLy+Of//wnV1xxBX/729+co579kU3V2pyor7WWGkST1CCEEH7G4yfgl19+SXJysvP1VVddxYEDBxg4cCCa5r9LbtpUu8cOagCT8WwfhBBC+BOPCSIkJITXX3/d+fr1118nODgYwGP7fE+mqvY2J+przXRm9LZV1oUQQvgZj30Qy5cvZ+nSpfzqV79CURQGDRrEY489Rn19Pffff39nxNglbKpGcJDnqTuCpAYhhPBTHhPEwIED2bhxI7W1tYDjCaYW48eP911kXazdndRGqUEIIfxTux7cP3LkCEeOHEFVz35LPnd8g7+xqZrHUdQgfRBCCP/lMUE88cQTrF+/noEDB6I784GpKEoAJAg7BkN7HnOVcRBCCP/kMUG89dZbvPvuuy5NS/5O0zRUe/tqEDqdgkGvyDgIIYTf8fgJGBcXF1DJAVpN1NeOPghw9ENIDUII4W881iBGjBjBvffey0033eSyopw/NzGdnaivfZPvmQw66mTKbyGEn/GYIPbt2wfA3//+d+c2f++DaKlBtGccBECQUc/pWiuapvn12BAhRGDxmCBaJ4ZA0bJYUHtGUgMYWz3qGmS89GVPhRCiO/D4FVnTNNavX8+KFSsAOHr0KJ9++qnPA+tKZ1eTa2cNwiCPugoh/I/HT8Dly5fzwQcf8O677wIQFhbGo48+6vPAupJN7XgnNcijrkII/+IxQXz44YesWLHCOf9STEwMTU1NPg+sK3W0BuEcLCePugoh/IjHT8CgoCCXjle73f+/JavOGkR7n2KSGoQQwv947KQePHgwW7ZsQdM0jh49yrp167j66qs7I7Yu09FOapluQwjhjzx+RV62bBkfffQRZWVl/M///A92u73ds7gWFhaSkZFBeno669atO+/93Nxcbr75ZqZNm8btt9/OsWPHnO/l5eUxefJkJk+eTF5eXgcu6dI5m5jaMZIaWi0aJBP2CSH8iMcaRHh4OL/73e9cthUWFjJhwoQLHqeqKjk5OeTm5mI2m8nKyiItLY1BgwY59xk6dCivvfYaISEhvPzyy/zhD3/gySef5PTp0/zpT3/itddeQ1EUZs+eTVpaGlFRURd5mR3T8U5qRyJplhqEEMKPtO8r8jmys7M97lNUVERiYiIJCQmYTCYyMzMpKChw2Wfs2LGEhIQAjhHbpaWlALz//vuMHz+e6OhooqKiGD9+PDt37ryYUC+KswZh6FgfhCw7KoTwJ+2a7vtc7Vlq1GKxEB8f73xtNpspKipqc/8NGzY4ayXujrVYLBc8X0xMKAbDpQ9Si4uLIKy0BoDoyBDi4iKICA++4DGK3nFeDYgIDyYuLuKS4+gqPTl2bwj06we5B4F+/a1dVILw9nQSmzdvZv/+/bz44osXXUZlZf0lxxEXF0FZWQ3lFY6yGhuslJXVUFPbeMHjWmocdQ3N1NQ2UlZWc8mxdIWW6w9UgX79IPcgEK//QgmxzQTx0ksvtXlQQ0ODx5OazWZnkxE4agVms/m8/Xbt2sXatWt58cUXMZlMzmM/+ugjl2NHjx7t8ZzecvYppvY1Mel1CjpFnmISQviXNhPE/v372zwoLS3NY8EpKSkUFxdTUlKC2WwmPz+fJ554wmWfzz//nOzsbJ599lliY2Od26+77jr++Mc/UlVVBTj6JO69916P5/SWjk7WpyiKY8pveYpJCOFH2kwQy5cvv7SCDQays7NZsGABqqoyZ84ckpKSWLVqFcnJyUyaNInHH3+c+vp6Fi9eDECfPn1Yu3Yt0dHR/OxnPyMrKwuAu+++m+jo6EuKpyM6Og4CWtaEkBqEEMJ/XFQfRHulpqaeNy14SzIA+Otf/9rmsVlZWc4E0dlsto5NtQGONSFq663t6sAXQoie4KIec/V3tg6uKAeOGoRdO9s8JYQQPZ0kCDc6OlkfyHQbQgj/c8FPQFVV+c1vftNZsXQbtg5O1gcyWE4I4X8u+Amo1+v56quvOiuWbuNiOqmDZMpvIYSf8dhJPXbsWHJycpg5cyahoaHO7a3nVPI3HZ2sD2TRICGE//GYIPLz8wHYvn27c5uiKOfNq+RPnOtBtHMuJnA8xQTSByGE8B8eE8R7773XGXF0K2c7qTv2FBNIDUII4T/a9RV59+7dznmSysvL+fbbb30aVFe7uCYm6YMQQvgXj5+A69at409/+hN/+9vfAGhububXv/61zwPrSh1dDwJk2VEhhP/xmCBef/11/vrXvzo7qOPj46mtrfV5YF2po+tBgIyDEEL4H4+fgMHBwRiNRpdt3p7uu7tpGQ19MU8xybKjQgh/4bGTOj4+no8//hhFUbDb7axdu5akpKTOiK3LNNsuYrI+gyw7KoTwLx6/Ij/44IOsWbOGr7/+muHDh7Nnzx6/74NQWwbK6dqfIBRFwWTQ0SQJQgjhJzzWIOLi4nj++edpaGjAbrcTFhbWGXF1KZtdw6BXOtyUJmtCCCH8iccaxH333cdrr71GRUVFQCQHcHRSd2QephYmo046qYUQfsNjDeLGG29k9+7drF27FoBx48YxduxYbr75Zp8H11VUVbuoBBEeYqSiuglLRT3mXqGeDxBCiG7MY4KYMmUKU6ZMobm5mfz8fFavXs2GDRv8OkE0q/YOdVC36BcXxhFLLa8VHuK73+l13vs3jOjnjfCEEKJTeEwQzz//PLt376a0tJThw4dz3333MXbs2M6Ircuoqr1Dj7i26B8XDlg4erLObYIQQoiexGOCWLNmDUlJSfzkJz9h3LhxmM3mzoirS9lUjeAgfYePCwkyEBsVjKWyHmuz6hwbIYQQPZHHBPHhhx+yb98+du3axdKlS6murmbUqFF+vZCQo5P64gYD9o8Lo7yqkeOn6vhOn0gvRyaEEJ3HYzuKXq+nf//+9O/fn379+lFeXs6///3vdhVeWFhIRkYG6enprFu37rz39+zZw6xZs/iFs/KSAAAZu0lEQVTud7/LW2+95fLe0KFDmTFjBjNmzODOO+9s5+V4h03VLqqJCaB/73AAjpbVeTMkIYTodB5rEFOnTqWuro6xY8cyZswYlixZ0q5mJlVVycnJITc3F7PZTFZWFmlpaS4LDfXp04fly5fz/PPPn3d8cHAwmzdv7uDleMel1CB6RQQREmTgWFkddk1D5+fTkggh/JfHBPHUU09x+eWXd7jgoqIiEhMTSUhIACAzM5OCggKXBNG/f38AdBf5bd0XNE1DtV/cY67gGFHdPy6Mr49Wcep0A71j5HFXIUTP5DFBnDp1it69exMWFsb69evZt28fd9xxh/ODvy0Wi4X4+Hjna7PZTFFRUbsDa2pqYvbs2RgMBhYuXMiNN954wf1jYkIxGC69Uziml6OJKCTESFxcBAAR4cEdKmPwgF58fbSKk6cbGZhw9mmmlvK6s54Qoy8F+vWD3INAv/7WPCaInJwctmzZwtdff01ubi7Tp0/ngQcecK4P4Svbtm3DbDZTUlLC7bffzuDBgxkwYECb+1dW1l/yOePiIjhRWgWAXbVTVlYDQE1tY4fKiQozoNcpfHOsiuTLzyaIlvK6q7i4iG4foy8F+vWD3INAvP4LJUSP7SgGgwFFUSgsLOSWW27hzjvvpLq62uNJzWYzpaWlztcWi6VDj8i27JuQkMDo0aP5/PPP233spXBO9X2RTUwtx5p7hXC61kqTVabeEEL0TB4/BW02G//5z3945513nAPkVNXzh15KSgrFxcWUlJRgtVrJz88nLS2tXUFVVVVhtVoBqKio4NNPP3Xpu/Cli1mP2p3wEMcaGvVNtkuOSQghuoLHJqbFixeTnZ3N2LFjSUpK4ttvvyUxMdFzwQYD2dnZLFiwAFVVmTNnDklJSaxatYrk5GQmTZpEUVERixYtorq6mm3btvHUU0+Rn5/PoUOHeOihh1AUBU3TuOOOO7ogQVxax3lIkOPWNjTZiIkIuuS4hBCisymapmldHYQ3eKPdMC4ugn1fWfj1ug+YMLwPP5oyFIDte491uKwDJaf54L8WxqfEM7BfFND952IKxPbX1gL9+kHuQSBe/4X6IDzWIJqamtiyZQslJSXYbGebS+6//37vRNfNtNQg9N6qQUgfhBCih2pXE1NzczPDhg3DZDJ1RkxdSlU7vh61OyFn5nJqlD4IIUQP5TFBHD58mDfffLMzYukWnH0QhkvrpA4xOW6tdFILIXoqj1+TExISqK2t7YxYugVngrjEGkTwmSamxiZpYhJC9EweaxARERHMmTOH66+/3qWJyX/7IFrGQVxaDUKvUwgy6mmQGoQQoofymCAuv/zyi5qLqafy1mOu4OiHqG+UBCGE6Jk8JohFixadt+3jjz/2STDdwdkahDcShIHTtdYzs8N2nwkJhRCiPTwmiBYnT54kLy+PjRs3omka//rXv3wZV5fx1khqOPuoa2OTSnioJAghRM9ywQRhs9koKChgw4YNFBUVYbPZeO655xgxYkRnxdfpvDUOAs4+6trQZCM81HjJ5QkhRGdq81Pw0UcfJTU1lVdffZXp06ezY8cOoqKi/Do5QOvJ+rxXg2iwSj+EEKLnabMG8eqrrzJixAgWLlzonKRPCYDV0bzaSS1jIYQQPVibCWLnzp1s3bqVxx9/nKqqKmbOnNmuWVx7OpvNm08xyVgIIUTP1eanYGRkJPPmzWPjxo38+c9/prq6mqamJubNm8c//vGPzoyxU9m82sTk6IOQGoQQoidq19fkK6+8kgceeIDCwkJuvfVWCgoKfB1Xl/FuJ3VLDUIShBCi52n3Y64ARqORKVOmMGXKFF/F0+VaxkEYvZAgjAYdep0io6mFED2SPJx/DtVZg7j0JiZFUQgJMtAgfRBCiB5IEsQ5mr00WV+LkCA9DVYbfrIukxAigEiCOIfqpcn6WoQEGdA0aGqWWoQQomeRBHGOs+tBeKsGcXZtaiGE6El8miAKCwvJyMggPT2ddevWnff+nj17mDVrFt/97nd56623XN7Ly8tj8uTJTJ48mby8PF+G6cLmpRXlWoSYWqbbkBqEEKJn6dBTTB2hqio5OTnk5uZiNpvJysoiLS2NQYMGOffp06cPy5cv5/nnn3c59vTp0/zpT3/itddeQ1EUZs+eTVpaGlFRUb4K18mbk/WB1CCEED2Xz2oQRUVFJCYmkpCQgMlkIjMz87zxE/379+fKK69Ed8639ffff5/x48cTHR1NVFQU48ePZ+fOnb4K1YU3x0GAJAghRM/lswRhsViIj493vjabzVgsFp8fe6m8OVkftE4Q0sQkhOhZfNbE1NliYkIxGPSXXE5LbaZPfJRzPqaI8OCLLk/RO2JqVjXi4iIuOT5f6wkx+lKgXz/IPQj062/NZwnCbDZTWlrqfG2xWDCbze0+9qOPPnI5dvTo0Rc8prKy/uICbSUuLoL6BisAFeW1ztlra2obL7pM+5kaSU1dE2VlNZccoy/FxUV0+xh9KdCvH+QeBOL1Xygh+qyJKSUlheLiYkpKSrBareTn55OWltauY6+77jref/99qqqqqKqq4v333+e6667zVagubHYNg17x2tTmOp1CsEkvfRBCiB7HZzUIg8FAdnY2CxYsQFVV5syZQ1JSEqtWrSI5OZlJkyZRVFTEokWLqK6uZtu2bTz11FPk5+cTHR3Nz372M7KysgC4++67iY6O9lWoLmyq3Wsd1C1CggzU1jd7tUwhhPA1n/ZBpKamkpqa6rJt8eLFzp+HDRtGYWGh22OzsrKcCaIzqarmlYn6Wgs26amsaaLJqhJkuvR+EiGE6AwykvoczardKxP1tRYW7FiP+pvjVV4tVwghfEkSxDlU1e61UdQtkhIcA/xefe+gs9NaCCG6O0kQ57CpmtfGQLSIiw7hir6RHDlZS2HRca+WLYQQvuI34yC8xabaMRiMXi/3e4PjOGKp4dWCgzQ1qwQZHX0RN4zo5/VzCSGEN0gN4hw2VfN6ExNAaLCBYQNjaWpWKTpY7vXyhRDC2yRBnMOm2r3exNRi6HdiiAg18uWRSmob5LFXIUT3JgmiFU3TUO2a18dBtNDrdFw5IAZNg5OVDT45hxBCeIskiFZa1oIw+qgGAdArKgiAiuqLn75DCCE6gySIVpptjhlXfVWDAOgV4Zj4r6K6yWfnEEIIb5AE0YpzNTkfJgijQUdEqJGK6kY0TcZECCG6L0kQrXh7Nbm2xEYGY7XZqWuQCfyEEN2XJIhWbLaWBOHb29Ir0tEPUS79EEKIbkwSRCv1Z6bkbhnE5iu9Is/0Q9RIP4QQovuSBNFKVa3jAzsi1PsjqVtrqUHIk0xCiO5MEkQr1bWO1eQiQk0+PU+wyUBosEEShBCiW5ME0UpVXefUIMDRzNTQpDprLUII0d1Igmiluu5MDSLE9wki9kwz02FLrc/PJYQQF0MSRCtn+yB828QEZzuqD1sCa4F0IUTPIQmilaqWGkSnNDE5ahBHJEEIIbopSRCttHRSh3VCE1NokIEgo57DpZIghBDdk08TRGFhIRkZGaSnp7Nu3brz3rdarSxZsoT09HTmzp3L0aNHATh69CjDhg1jxowZzJgxg+zsbF+G6VRV10RokMHnA+UAFEWhV2QQp6oaqWuUqb+FEN2Pz1aUU1WVnJwccnNzMZvNZGVlkZaWxqBBg5z7rF+/nsjISN555x3y8/NZsWIFTz75JAADBgxg8+bNvgrPrepaa6c0L7XoFRnMifJ6Hv37J3xvcBzfGxzH5X0iO+38QghxIT77qlxUVERiYiIJCQmYTCYyMzMpKChw2ee9995j1qxZAGRkZLB79+4um8DOrmlU11s7pYO6xeCEKPrHhXGysoH83Yd55IWPefGdr9i+91inxSCEEG3xWQ3CYrEQHx/vfG02mykqKjpvnz59+jgCMRiIiIigsrIScDQzzZw5k/DwcJYsWcKoUaMueL6YmFAMhoufIqO6zordrhEbHUJcXITLexHhwRdd7oVEhAczo3ckzTaVQ8eqKNhTwhFLLUMvv+y8GDpLV523uwj06we5B4F+/a35LEFcit69e7Nt2zZiYmLYv38/d999N/n5+YSHh7d5TGVl/SWd80R5HQBBBoWyMteO45pa34947tsrhIhQI8UnqjldVX9eDJ0hLi6iS87bXQT69YPcg0C8/gslRJ81MZnNZkpLS52vLRYLZrP5vH1OnDgBgM1mo6amhpiYGEwmEzExMQAkJyczYMAAvv32W1+FCkBNvaOjuDObmFpTFIWE3uHYVI0T5ZeW7IQQwht8liBSUlIoLi6mpKQEq9VKfn4+aWlpLvukpaWRl5cHwNtvv83YsWNRFIWKigpU1bG6W0lJCcXFxSQkJPgqVABq6jtvFHVbBpgdmfyIjK4WQnQDPmtiMhgMZGdns2DBAlRVZc6cOSQlJbFq1SqSk5OZNGkSWVlZLF26lPT0dKKioli5ciUAe/bsYfXq1RgMBnQ6HQ8//DDR0dG+ChXo+hoEQFx0MCFBekpO1qLa7eh1MkxFCNF1fNoHkZqaSmpqqsu2xYsXO38OCgpi9erV5x2XkZFBRkaGL0M7T01DS4LouhpESzPTgZIqDh6tYsiAmC6LRQgh5CvqGc4mpi6sQcDZZqZPDpR1aRxCCCEJ4oza+q6vQQCYe4ViNOj47EBZl40JEUII6KaPuXaFszWIrk0Qep1C/7gwvj1RwysFXxNiMqDTKUwY3peYiKAujU0IEVgkQZxRU99MSJAe4yUMtvOWy/tE8u2JGt79+Khz2ydfnSTt6v7cMKJfF0YmhAgkkiDOqGloJjKse3xD7xcXxs3jErHZ7KDA3q9PcbSsDkuFjI8QQnQe6YMANE2jpt5KVHjXdlC3UBSFy6KCiY8NJb5XKFcPiQPgU+mXEEJ0IkkQQKNVxaZq3aYGca646BAGmMMpO93I3q9PdXU4QogAIQmCsx3U3aUG4c6IpMtQgNcKv6GpWeVAyWne/ugIR0/KqGshhG9IHwRnR1F31xoEQHR4EAP7R3HwaBU/++MOWlqaQoL0TL32O0wZk9i1AQoh/I7UIDibIKLCum8NAmDEoFgiQo1Ehwdx5YBohgyIpqFJpXDvcVS7vavDE0L4GalB0DOamABCg43MmnCF87WmaTQ02ThiqWXjjm+YO9GxWp/drqHTKV0VphDCT0iCAGrPzMMUGd59m5jcURSFa1Piqaw5zJsfHuFEeT1lVQ2UltczsF8Ui2anEN6Fs9MKIXo2aWKi5zQxuWMy6LlhZD8MeoW9B09hqagnNNjAgZLTrHjlM2ftSAghOkpqELRuYgqCHtiWHxMRxMzrL0e1a84aw4efWzhQUsXjL3/GL/5nONERQegUaXYSQrSfJAjOTvUdGWairsb3y4v6Qmiwa1PSmO+aSegdQcEnR/nlml0ABBn19IsLY+4NA2UqcSGER5IgcNQgDHodIUEG6vxkOVpFUeh7WSijhsRxorwem2rHarPzzfFqHnv5M64eEseUMYkY9AqqXSM0yCCLtQshXEiCwNEHERFqRPGzJhhFUfju5b347uW9nNtOVTVw4EgVn3xVxidfua45cXnfSK4Z0purh8QRHW7qFhMXCiG6jiQIHAnC3Cukq8PoFJdFhTDn1oHs+fIkX5WcRq8o6PUKlooGig6d4tvj1fxz20EAdIpCkEnPoH5RfCc+ggHmcCJCTYQGGwgNMhAZZsKgl+cchPBXAZ8grM0qTc1ql68k15kURWH0UDOjh5pdtr//Xwv7D5VhqWjA2qzSbLNT32Rj3zfl7Pum3G1Z4SFGosJMxEQE0SsyiF4RwQSZ9Bj0OowGHXFRwfTrHU5kAN1fIfxFwCeImm6yklx3EBJk4MoBMVx5Tgd2o9VGeVUTp2ubsDarWG12mppVGptUGqw2yk43cOxU3QXLjgozERJkQLXbsakaYcFGzDEh9I4JIciop67RRn1TM8EmA1f0jWRgvyjiooKxqRpWm4pOUQgJCvh/rkJ0Kp/+xhUWFvL73/8eu93O3LlzWbhwocv7VquV+++/n//+979ER0ezcuVK+vfvD8AzzzzDhg0b0Ol0/OY3v+H666/3SYyNVhvQM8dAdJZgk4F+cQb6xYW1uU+zzU59YzN1jTZsqh3VrqGqjmnUK2uaqKxxJBidTkGnKJRW1HG0zP1EgwWfOP6vAK0nN48INWLuFUpUmIn6Rhu1Dc1Ym1UiwkxEhwcRGmSgus5KRU0jNfXNRIcH0TsmhNjIYGyqozbUZFWJCDVyWVQIsVHB6HWOTnrVbqd3bC32ZpWwEAOKojhrUXq9QliwkbBgA8FnVvgTIhD4LEGoqkpOTg65ubmYzWaysrJIS0tj0KBBzn3Wr19PZGQk77zzDvn5+axYsYInn3ySgwcPkp+fT35+PhaLhfnz5/P222+j13u/07RPbBg/mJTE9wZf5vWyA4nRoCMqPMgxlqQdNE2j0apSXW9FVTWCjHpMRh2NVpWy0w2UnW6kocmGXqdg0OtQ7Y5kc+hYlXOiQqNeh16vcLKywSWRGPQKQUY9Ryw1fHui2uvXqtcpGAw65/mNeh2KAjZVw6basds19DoFnU5Br9MRbNITZNJjMuhcHoSw2zVUTXP8/0xC1TSNkCAD4SFGwkONGPQ6FEBRHPc4yOgoS6coaBrYNQ3dmX6kln3tmqM8naJgMuoINhmcMbYk6Jb7qtMptISkKFDdpFJV1YCu5aRntLxsib/1uiQ6RQHHf6AojtG3Cii0Ltvx83mp9SIeDFHO/aHVX7671VIUZzytT+v+vEF1VufMCq21vt4LrcjSnnN40nIuTyu/tC49LNjoky8uPksQRUVFJCYmkpCQAEBmZiYFBQUuCeK9995j0aJFAGRkZJCTk4OmaRQUFJCZmYnJZCIhIYHExESKiooYOXKk1+PU6RQmX5Pg9XLFhSlnmozObTaKCHWsf9EW1a5hbVYxGfXoz/xC2DWNxiYVq00lxGTAZHR8EE8Y1peKmkYqqpswGnSEBhkwGfVs++wotQ3N1DXY0HB8kCqKgl6vo7q2icZmFQCDzrHNbtdoalYdNYozCUC1n/1gb7DZ0DTOJAQFvcHx4a3aNaw2GzUNVmw2DbubxZ6UMx+kOt3ZD9Fmmx1ZF0p0xNDEGJbe4v3PR58lCIvFQnx8vPO12WymqKjovH369OnjCMRgICIigsrKSiwWC8OHD3c51mKxXPB83nqG3105c9Ov9ErZ3d1NfjgOwmyOPG/b4CuktihEe8gzikIIIdzyWYIwm82UlpY6X1ssFsxm83n7nDhxAgCbzUZNTQ0xMTHtOlYIIYRv+SxBpKSkUFxcTElJCVarlfz8fNLS0lz2SUtLIy8vD4C3336bsWPHoigKaWlp5OfnY7VaKSkpobi4mGHDhvkqVCGEEG74rA/CYDCQnZ3NggULUFWVOXPmkJSUxKpVq0hOTmbSpElkZWWxdOlS0tPTiYqKYuXKlQAkJSUxZcoUbr75ZvR6PdnZ2T55gkkIIUTbFE2T5yWEEEKcTzqphRBCuCUJQgghhFuSIHBMCZKRkUF6ejrr1q3r6nA6xa9+9SvGjRvH1KlTndtOnz7N/PnzmTx5MvPnz6eqqqoLI/StEydOcNttt3HzzTeTmZnJCy+8AATOPWhqaiIrK4vp06eTmZnJ6tWrASgpKWHu3Lmkp6ezZMkSrFb/XrJWVVVmzpzJT3/6UyDwrt+TgE8QLVOCPPvss+Tn5/P6669z8ODBrg7L52bPns2zzz7rsm3dunWMGzeOf/3rX4wbN86vk6Ver2fZsmW88cYbvPrqq7z88sscPHgwYO6ByWTihRdeYMuWLWzatImdO3eyd+9eVqxYwY9+9CPeeecdIiMj2bBhQ1eH6lN/+9vfGDhwoPN1oF2/JwGfIFpPCWIymZxTgvi7a665hqioKJdtBQUFzJw5E4CZM2fy7rvvdkVonaJ3795cddVVAISHh3PFFVdgsVgC5h4oikJYmGPyRZvNhs1mQ1EUPvjgAzIyMgCYNWuWX/8ulJaWsn37drKysgDHHEiBdP3tEfAJwt2UIJ6m9fBX5eXl9O7dG4C4uDjKy92vAeFvjh49yhdffMHw4cMD6h6oqsqMGTO49tprufbaa0lISCAyMhKDwfH0e3x8vF//Ljz66KMsXboUnc7xMVhZWRlQ198eAZ8ghHvKmQns/F1dXR0///nP+fWvf014eLjLe/5+D/R6PZs3b2bHjh0UFRXxzTffdHVInWbbtm306tWL5OTkrg6lWwv4FVhkWo+zYmNjOXnyJL179+bkyZP06tXL80E9WHNzMz//+c+ZNm0akydPBgLvHgBERkYyZswY9u7dS3V1NTabDYPBQGlpqd/+Lnz66ae89957FBYW0tTURG1tLb///e8D5vrbK+BrEO2ZEiRQpKWlsWnTJgA2bdrEpEmTujgi39E0jQceeIArrriC+fPnO7cHyj2oqKigutqxVkZjYyO7du1i4MCBjBkzhrfffhuAvLw8v/1duO+++ygsLOS9997jj3/8I2PHjuWJJ54ImOtvLxlJDezYsYNHH33UOSXIXXfd1dUh+dy9997LRx99RGVlJbGxsdxzzz3ceOONLFmyhBMnTtC3b1+efPJJoqOjuzpUn/j444+ZN28egwcPdrZB33vvvQwbNiwg7sGXX37JsmXLUFUVTdO46aabWLRoESUlJfziF7+gqqqKoUOHsmLFCkwm/15t8cMPP+T555/nmWeeCcjrvxBJEEIIIdwK+CYmIYQQ7kmCEEII4ZYkCCGEEG5JghBCCOGWJAghhBBuSYIQQgjhliQIIYQQbv0/PZxbJI9cXk4AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns\n",
    "sns.set(color_codes=True)\n",
    "ax = sns.distplot(ans_len)\n",
    "ax.set_title('Distribution of Answer Length')\n",
    "ax.set_ylabel('Answer Length')\n",
    "plt.savefig('answer_length.png')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Answer Span"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "86326\n"
     ]
    }
   ],
   "source": [
    "train_ans = 'data/train.span'\n",
    "\n",
    "ans_start = []\n",
    "ans_end = []\n",
    "\n",
    "with open(train_ans) as fp:  \n",
    "    lines = fp.readlines()\n",
    "    print(len(lines))\n",
    "    for line in lines:\n",
    "        words = line.split()\n",
    "        ans_start.append(int(words[0]))\n",
    "        ans_end.append(int(words[1]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "86326\n",
      "[0, 32, 19, 206, 46, 47, 63, 184, 55, 73]\n",
      "[0, 32, 21, 206, 48, 48, 71, 186, 55, 74]\n"
     ]
    }
   ],
   "source": [
    "print(len(ans_start))\n",
    "print(ans_start[:10])\n",
    "print(ans_end[:10])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(ans_start)\n",
    "plt.ylabel('Answer Start')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('Min:   ', 0)\n",
      "('Max:   ', 605)\n",
      "('Mean:   ', 58.10365359219702)\n",
      "('25th percentile:   ', 20.0)\n",
      "('Median:            ', 47.0)\n",
      "('75th percentile:   ', 85.0)\n",
      "('95th percentile:   ', 149.0)\n",
      "('99th percentile:   ', 213.0)\n"
     ]
    }
   ],
   "source": [
    "ans_start_array = np.array(ans_start)\n",
    "\n",
    "print(\"Min:   \", np.min(ans_start_array))\n",
    "print(\"Max:   \", np.max(ans_start_array))\n",
    "print(\"Mean:   \", np.mean(ans_start_array))\n",
    "print(\"25th percentile:   \", np.percentile(ans_start_array, 25))\n",
    "print(\"Median:            \", np.median(ans_start_array))\n",
    "print(\"75th percentile:   \", np.percentile(ans_start_array, 75))\n",
    "print(\"95th percentile:   \", np.percentile(ans_start_array, 95))\n",
    "print(\"99th percentile:   \", np.percentile(ans_start_array, 99))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(array([  0,  32,  19, 206,  46,  47,  63, 184,  55,  73]), array([187, 124, 132, 255, 304, 109, 112, 200, 140, 101]))\n",
      "((86326,), (86326,))\n",
      "[0.         0.25806452 0.14393939 0.80784314 0.15131579 0.43119266\n",
      " 0.5625     0.92       0.39285714 0.72277228]\n"
     ]
    }
   ],
   "source": [
    "print(ans_start_array[:10], context_array[:10])\n",
    "print(ans_start_array.shape, context_array.shape)\n",
    "ans_start_relative = np.true_divide(ans_start_array, context_array)\n",
    "print(ans_start_relative[:10])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('Min:   ', 0.0)\n",
      "('Max:   ', 0.9930555555555556)\n",
      "('Mean:   ', 0.4287224706678976)\n",
      "('25th percentile:   ', 0.16216216216216217)\n",
      "('Median:            ', 0.3942307692307692)\n",
      "('75th percentile:   ', 0.6791344081730386)\n",
      "('95th percentile:   ', 0.93)\n",
      "('99th percentile:   ', 0.9767441860465116)\n"
     ]
    }
   ],
   "source": [
    "## Relative ans start wrt to context length\n",
    "\n",
    "print(\"Min:   \", np.min(ans_start_relative))\n",
    "print(\"Max:   \", np.max(ans_start_relative))\n",
    "print(\"Mean:   \", np.mean(ans_start_relative))\n",
    "print(\"25th percentile:   \", np.percentile(ans_start_relative, 25))\n",
    "print(\"Median:            \", np.median(ans_start_relative))\n",
    "print(\"75th percentile:   \", np.percentile(ans_start_relative, 75))\n",
    "print(\"95th percentile:   \", np.percentile(ans_start_relative, 95))\n",
    "print(\"99th percentile:   \", np.percentile(ans_start_relative, 99))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import seaborn as sns\n",
    "sns.set(color_codes=True)\n",
    "ax = sns.distplot(ans_start_relative)\n",
    "ax.set_title('Distribution of Answer Start Index relative to Context Length')\n",
    "ax.set_ylabel('Answer Start Idx ratio')\n",
    "plt.savefig('answer_start_ratio.png')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
